资源简介
OpenGL绘制可运动的自行车。资源包括源程序及程序说明、可执行文件.exe。程序运行环境为Win10 + VS2013 + OpenGL
代码片段和文件信息
#include
#include
#include
#include
#include
#include
// Define a constant for the value of PI
#define GL_PI 3.1415f
float Rotate = 0.0;
float Go = 0.0;
static int Speed = 1;
GLuint drawcube drawsphere;
static GLfloat sx = 0 sy = 0 sz = 0;
static int lflag = GL_TRUE rflag = GL_TRUE;
void Reshape(int w int h)
{
glViewport(0 0 (GLsizei)w (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90 w / h 0.5 200); //透视效果
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0 20 -60 0 0 20 0 1 0); //设置观察点(相机位置、物体位置、相机顶部朝向)
}
void ProcessMenu(int value)
{
Speed = value; //value表示选择的菜单项
glutPostRedisplay();
}
void Init()
{
glClearColor(0.6 0.6 0.6 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//画出正方体显示列表
drawcube = glGenLists(1);
glNewList(drawcube GL_COMPILE);
glutSolidCube(1);
glEndList();
//画出球体显示列表
drawsphere = glGenLists(1);
glNewList(drawsphere GL_COMPILE);
glutSolidSphere(1 20 20);
glEndList();
//设置普通灯光照0位置及参数;
GLfloat position0[] = { 30 5 30 1 };
GLfloat light0s[] = { 0.1 0.1 0.1 0.1 };
GLfloat light0d[] = { 0.6 0.7 0.7 };
GLfloat light0a[] = { 0.9 0.9 0.9 };
glLightfv(GL_LIGHT0 GL_POSITION position0);
glLightfv(GL_LIGHT0 GL_SPECULAR light0s);
glLightfv(GL_LIGHT0 GL_DIFFUSE light0d);
glLightfv(GL_LIGHT0 GL_AMBIENT light0a);
//设置探照灯光照1位置及参数
GLfloat position1[] = { -60 40 0 1 };
GLfloat light1s[] = { 1.0 1.0 1.0 1.0 };
GLfloat light1d[] = { 0.06 0.1 0.1 };
GLfloat light1a[] = { 0.91 0.99 0.96 };
GLfloat direction[] = { 0 -60 0 1 };
glLightfv(GL_LIGHT1 GL_SPOT_DIRECTION direction);
glLightf(GL_LIGHT0 GL_SPOT_CUTOFF 30.0);
glLightfv(GL_LIGHT1 GL_POSITION position1);
glLightfv(GL_LIGHT1 GL_SPECULAR light1s);
glLightfv(GL_LIGHT1 GL_DIFFUSE light1d);
glLightfv(GL_LIGHT1 GL_AMBIENT light1a);
glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
}
static GLfloat xRot = 0.0f;
static GLfloat yRot = 0.0f;
static GLfloat zRot = 0.0f;
void Draw()
{
float rotatesin = sin(Rotate * 3.1415926 / 180);
float rotatecos = cos(Rotate * 3.1415926 / 180);
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Save the matrix state
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
// Rotate about x and y axes
glRotatef(xRot 1.0f 0.0f 0.0f);
glRotatef(yRot 0.0f 1.0f 0.0f);
glRotatef(zRot 0.0f 0.0f 1.0f);
glPushMatrix(); //地板
glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT GL_AMBIENT);
glColor4f(0.05 0.2 0.15 0.0);
glTranslatef(7 -20 20);
glScalef(320 2 300);
glCallList(drawcube);
glDis
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-06-20 17:35 2018261265吕昊\
目录 0 2019-06-20 17:15 2018261265吕昊\可执行文件\
文件 83968 2019-06-18 21:23 2018261265吕昊\可执行文件\LHOpenGL.exe
目录 0 2019-06-19 16:54 2018261265吕昊\源文件\
目录 0 2019-06-20 17:22 2018261265吕昊\源文件\LHOpenGL\
目录 0 2019-06-18 21:22 2018261265吕昊\源文件\LHOpenGL\Debug\
文件 84480 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\Debug\LHOpenGL.exe
文件 339340 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\Debug\LHOpenGL.ilk
文件 1142784 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\Debug\LHOpenGL.pdb
目录 0 2019-06-18 21:23 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\
目录 0 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\
文件 152869 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LH.obj
文件 1045 2019-06-13 09:06 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.Build.CppClean.log
文件 1981 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.log
目录 0 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\
文件 78028 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\CL.read.1.tlog
文件 1704 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\CL.write.1.tlog
文件 193 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\LHOpenGL.lastbuildstate
文件 2674 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\cl.command.1.tlog
文件 8290 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\li
文件 16182 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\li
文件 1650 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\LHOpenGL.tlog\li
文件 912384 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\vc120.idb
文件 176128 2019-06-20 17:18 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\Debug\vc120.pdb
文件 33071 2019-06-18 21:23 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\LH.cpp
文件 4083 2019-05-05 10:42 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\LHOpenGL.vcxproj
文件 943 2019-05-05 10:42 2018261265吕昊\源文件\LHOpenGL\LHOpenGL\LHOpenGL.vcxproj.filters
文件 29163520 2019-06-20 17:22 2018261265吕昊\源文件\LHOpenGL\LHOpenGL.sdf
文件 970 2019-05-05 10:42 2018261265吕昊\源文件\LHOpenGL\LHOpenGL.sln
文件 26112 2019-06-20 17:22 2018261265吕昊\源文件\LHOpenGL\LHOpenGL.v12.suo
文件 235139 2019-06-19 17:03 2018261265吕昊\程序说明.docx
............此处省略0个文件信息
- 上一篇:全国铁路和国道谷歌地球KML文件
- 下一篇:Prince2 原版教材
相关资源
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
- OpenGL场景漫游
- 用opengl实现的太阳系模型
- OpenGL 3D贪吃蛇程序,很小
- OpenGL爆炸碎片化效果 源码
- OpenGL三茶壶三光源光源绕着茶壶旋转
- 10个OpenGL的源码
- vc写的一个游戏里面三维场景漫游
- OpenGL实现的简单游戏引擎
- OpenGL游戏程序设计源码
- glew最新版本glew1.11.0
- OpenGL 火箭
- 天空盒和地面
- 三维场景漫游.zip
- openGL实现的正方体六面贴图
- opengl简易翻牌游戏
- Qt Openglwidget 显示图片纹理贴图
- OpenGL实现三维物体旋转,缩放
- MD5GPU.rar
- OpenGL立方体在世界坐标系中缩放_旋转
- OpenGL ES 2.0 编程指南 中文版.pdf
- openGL实现三维点云显示
- opengl写的趣味3D骰子
- 计算机图形学实验 opengl实现太阳系运
- opengl实现地球围绕太阳转动
- opnegl 太阳 月亮 地球 天体旋转
- glut库glew库glfw库glaux库
- OpenGL小车三维模型源码.zip
- 虚拟环境漫游系统
评论
共有 条评论