程式碼 :
#include <GL/glut.h> /// 呼叫函式庫(外掛)
void Display()
{
glClearColor(1,0,0,0); /// 標示背景用的色彩 紅色(參數依序 紅 綠 藍 透明度)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); /// 清 顏色|3D
glColor3f(1,0,1); /// 用來設定物件的顏色 3表示3個參數 f為浮點數
glutSolidTeapot(0.3); /// 畫出實心的茶壺
glutSwapBuffers(); /// 交換繪圖buffer(記憶體)
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv); /// 初始化(用主函式參數)
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); /// 設定顯示模式
glutCreateWindow("GLUT Shapes"); /// 創造GLUT_3D視窗
glutDisplayFunc(Display); /// 註冊Display函式
glutMainLoop(); /// 主要迴圈(讓程式一直跑)
return 0;
}
執行結果 :

二、 畫三角形(點、線、面)
程式碼 :
#include <GL/glut.h>
void Display()
{
glClearColor(1,0,0,0);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(1,0,1);
glBegin(GL_POLYGON); /// 開始畫(多邊形)
glVertex3f(-1,1,0); /// Vertex為點 3為3個參數 x,y,z
glVertex3f(1,1,0);
glVertex3f(0,-1,0);
glEnd(); /// 結束
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(Display);
glutMainLoop();
return 0;
}
執行結果 :

沒有留言:
張貼留言