主要用来旋转图形:
1.定义两个变量用来存储角度
GLfloat rtri; //三角形旋转角度
GLfloat rquak; //正方形旋转角度
2.函数glRotatef(rtri,1.0f,0.0f,0.0f)用来设置如何旋转
3.旋转之后,要重置模型矩阵glLoadIdentity();此时焦点回到屏幕中心
4.glTranslatef(1.5f,0.0f,-6.0f);用来移到新的位置
5.设置每次旋转的角度
rquak += -1.5f;
rtri +=1.0f;
源代码:
int DrawGLScene(GLvoid) // 从这里开始进行所有的绘制
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存
glLoadIdentity(); // 重置当前的模型观察矩阵
glTranslatef(-1.5f,0.0f,-6.0f);
glRotatef(rtri,1.0f,0.0f,0.0f);
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f(0.0f,1.0f,0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f,0.0f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(1.0f,-1.0f,0.0f);
glEnd();
glLoadIdentity();
glTranslatef(1.5f,0.0f,-6.0f);
glRotatef(rquak,0.0f,1.0f,0.0f);
glColor3f(0.0f,0.0f,1.0f);
glBegin(GL_QUADS);
glVertex3f(-1.0f,1.0f,0.0f);
glVertex3f(1.0f,1.0f,0.0f);
glVertex3f(1.0f,-1.0f,0.0f);
glVertex3f(-1.0f,-1.0f,0.0f);
glEnd();
rquak += -1.5f;
rtri +=1.0f;
return true; // 继续运行
}