主要用來旋轉圖形:
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; // 繼續運作
}