OpenGL3D圖形繪制


GLfloat        xtri;                        
GLfloat ytri;
GLfloat ztri;
int DrawGLScene(GLvoid) // 從這里開始進行所有的繪制
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕及深度緩存
glLoadIdentity(); // 重置模型觀察矩陣
glTranslatef(-0.0f,0.0f,-6.0f); // 左移 1.5 單位,並移入屏幕 6.0

glRotatef(xtri,1.0f,0.0f,0.0f); // 繞Y軸旋轉金字塔
glRotatef(ytri,0.0f,1.0f,0.0f); // 繞Y軸旋轉金字塔
glRotatef(ztri,0.0f,0.0f,1.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,-0.0f, 1.0f); // 三角形的左下頂點 (前側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f( 1.0f,-0.0f, 1.0f); // 三角形的右下頂點 (前側面)


glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點 (右側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f( 1.0f,-0.0f, 1.0f); // 三角形的左下頂點 (右側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f( 1.0f,-0.0f, -1.0f); // 三角形的右下頂點 (右側面)


glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點 (后側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f( 1.0f,-0.0f, -1.0f); // 三角形的左下頂點 (后側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f(-1.0f,-0.0f, -1.0f); // 三角形的右下頂點 (后側面)


glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點 (左側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f(-1.0f,-0.0f,-1.0f); // 三角形的左下頂點 (左側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f(-1.0f,-0.0f, 1.0f); // 三角形的右下頂點 (左側面)
glEnd(); // 金字塔繪制結束

glBegin(GL_QUADS); // 開始繪制金字塔的底部
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f(-1.0f, 0.0f,1.0f); // 四邊形的右上頂點 (頂面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f(1.0f, 0.0f,1.0f); // 四邊形的左上頂點 (頂面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f(1.0f, 0.0f, -1.0f); // 四邊形的左下頂點 (頂面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f( -1.0f, 0.0f, -1.0f); // 四邊形的右下頂點 (頂面)
glEnd();

xtri+=0.8f;
ytri+=0.5f;
ztri+=0.9f;

return TRUE; // 一切 OK
}


免責聲明!

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



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