GLfloat rtri; // 用於三角形的角度
GLfloat rquad; // 用於四邊形的角度
int DrawGLScene(GLvoid) // 從這里開始進行所有的繪制
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度緩存
glLoadIdentity(); // 重置當前的模型觀察矩陣
glTranslatef(-1.5f,0.0f,-6.0f); // 左移 1.5 單位,並移入屏幕 6.0
glRotatef(rtri,0.0f,1.0f,0.0f); // 繞Y軸旋轉三角形
//平滑着色
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); // 右移1.5單位
glRotatef(rquad,1.0f,0.0f,0.0f); // 繞X軸旋轉四邊形
//單一着色
glColor3f(0.5f,0.5f,0.5f); // 設置當前色為灰色
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();
rtri+=0.5f; // 增加三角形的旋轉變量
rquad-=0.5f; // 減少四邊形的旋轉變量
return TRUE; // 一切 OK
}