资源简介
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参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
- OpenGL场景漫游
评论
共有 条评论