OpenGL圖形旋轉


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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM