一、项目要求
利用OpenGL绘制一个基本场景,加入灯光,实现交互操作。
二、开发环境
采用Microsoft Visual C 2012集成环境并用C++编写程序
三、总体介绍
使用OpenGL用VC绘制出三维立体小白鸡,通过按键,实现旋转,改变观测视角,并实现其手臂和双腿的旋转,以及整体的沿着y轴平移。
四、设计思路
(一)首先绘制出三维的小白鸡,在其下方绘制一条马路和一个小球体(用于参考物,便于观察小白鸡向前行走的距离)。
(二)加上光照处理,使得三维图形更加立体。
(三)实现小白鸡左右翅膀和两条腿的转动以及整体向前移动的功能。
通过按键盘‘a’、‘d’、‘w’、‘s’四个键可以控制我们观测该模型的视角。通过按键盘‘f’、‘r’键可以控制小白鸡左翅的转动。通过按键盘‘g’、‘t’键可以控制小白鸡右翅的转动。通过按键盘‘h’、‘y’键可以控制小白鸡双腿的转动以及向y轴运动。
五、部分源代码
void display(void)
{
glClearColor(0.07,0.7,0.9,0.3); //设置背景颜色为天蓝色,透明度为0.3
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //清除颜色缓冲区和深度缓冲区
glPushMatrix();
glRotatef((GLfloat)inverse,0.0,1.0,0.0); //整体沿着y轴进行旋转
glRotatef((GLfloat)inverse2,1.0,0.0,0.0); //沿着x轴进行旋转
//绘制身体
glPushMatrix();
glColor3f(1.0,1