| Week 02 |
§點、線、面範例§
▲GLUT 使用freeglut簡化程式碼
●01
先到http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
下載[data]、[win32]、gult32.dll
●02 下載完長這樣
●03將window.zip解壓縮裡面的data資料夾拖到windows資料夾裡面
●04 將glut32.dll複製
●05 將glut32.dll複製貼到windows資料夾裡
●06 點選Shapes.exe執行
Vertex→頂點
point→一個點
color→利用rgb改顏色
2f→2個參數 浮點數
▲畫出茶壺
●01 利用week01 一樣的步驟開啟GULT
Files> New>project>GLUT
●利用RGB改顏色
◎程式碼
#include <GL/glut.h> ///使用GL/glut外掛
void display()
{
glBegin(GL_POLYGON); ///開始
glColor3f(0,0,1); ///利用rgb改茶壺顏色
glEnd(); ///結束
glutSolidTeapot(0.3); ///實際茶壺
glutSwapBuffers();
///是把memory buffer裡畫好的結果, 交換到 display buffer, 也就是會被秀出來的畫面
}
int main(int argc,char ** argv)///主要程式main
{ ///函式定義,有參數,不用管他
glutInit( &argc,argv); ///初始化GLUT功能 Init
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("茶壺");
glutDisplayFunc(display); ///要display的函式叫display
glutMainLoop();
}
●04 改背景顏色
(跟上面的改變數值點線面一樣)
glColor→換顏色
glVertex→畫點線
glBegin(GL_POLYGON);//開始Files> New>project>GLUT
把裡面的程式碼全部刪除 準備寫新程式
●02複製程式碼 會跑出茶壺●利用RGB改顏色
◎程式碼
#include <GL/glut.h> ///使用GL/glut外掛
void display()
{
glBegin(GL_POLYGON); ///開始
glColor3f(0,0,1); ///利用rgb改茶壺顏色
glEnd(); ///結束
glutSolidTeapot(0.3); ///實際茶壺
glutSwapBuffers();
///是把memory buffer裡畫好的結果, 交換到 display buffer, 也就是會被秀出來的畫面
}
int main(int argc,char ** argv)///主要程式main
{ ///函式定義,有參數,不用管他
glutInit( &argc,argv); ///初始化GLUT功能 Init
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("茶壺");
glutDisplayFunc(display); ///要display的函式叫display
glutMainLoop();
}
(跟上面的改變數值點線面一樣)
glColor→換顏色
glVertex→畫點線
glColor3f(1,0,0);//要先標示顏色
glVertex2f(1,1);
glColor3f(0,1,0);//要先標示顏色
glVertex2f(1,-1);
glColor3f(0,0,1);//要先標示顏色
glVertex2f(-1,-1);
glVertex2f(-1,1);
glEnd();//結束畫
沒有留言:
張貼留言