點、線、面、色彩
1. 下載課本的範例 https://jsyeh.org/3dcg10 windows.zip 及 data.zip
2. windows.zip 解壓縮, data.zip 解壓縮拉到windows資料夾
3. 執行 Shapes.exe
滑鼠右鍵, 在右邊可切換 點、線、面
滑鼠右鍵, 在左邊可切換大頂點
滑鼠左鍵, 在右邊可按「綠色數字」上下調整
4. 左邊設成 Toogle colors at vertices(每個頂點一個顏色), 切換成TRIANGLES
今天第一個程式:week02_glut_color_teapot
1. 從上週程式碼加一行
2. moodle下載 freeglut 拖到桌面,就裝好了
3. 把桌面\freglut\lib\libfreeglut.a 複製成 libglut32.a
4. CodeBlocks開GLUT專案, 目錄選桌面, 專案名取week02_glut_color_teapot
5. GLUT要選 桌面的 freeglut
6. 執行時跳出上週的程式
7. 左邊 Sources > main.cpp 點開, 把上週的10行貼上來
8. 第五行加上glColor3f(1,1,0);
9. 多新增一個小茶壺, 用小畫家的滴管功能換成安尼亞的顏色
畫三角形:Week02_glut_color_triangle
1. CodeBlocks開GLUT專案, 取名為week02_glut_triangle
2. 複製上個程式碼, 刪掉5~8行, 改成
glBegin(GL_POLYGON);
glColor3f(r,g,b);顏色 glVertex2f(x,y);座標點
glEnd();
用小畫家, 幫我們找到頂點座標
1. 開啟小畫家, 設大小為400*400, 把圖片放上去
2. 小畫家的座標裡, 左上角是0,0, 右下角是 400, 400
3. OpenGL 座標預設中間(0,0), 右邊是 +1, 左邊是-1, 上面是+1, 下面是-1
4. glVertex2f ((x座標-200)/200.0,-(y座標-200)/200.0)
用for迴圈/cos/sin畫圓
1. CodeBlocks開GLUT專案, 取名為week02_glut_cos_sin_circle
2. for(float a=0; a<3.1415*2; a+=0.1){
glVertex2f(cos(a), sin(a));
}
用三個圓畫米奇
1. 把上個程式碼圓的部分用成函示, 加上半徑和x,y座標
2. void myCircle(float x, float y, float r)
{
glBegin(GL_POLYGON);///開始畫多邊形
for(float a=0; a<3.1415*2; a+=0.1){
glVertex2f(r*cos(a)+x, r*sin(a)+y);
}
glEnd();
}
void display()
{
myCircle(0.5, 0.5, 0.3);
myCircle(-0.5, 0.5, 0.3);
myCircle(0, -0.1, 0.6);
glutSwapBuffers();
}
沒有留言:
張貼留言