第一個程式:GLUT實作茶壺
- 學校教室的2022葉正聖老師上課軟體內有內建freeglut-MinGW-3.0.0-1.mp.zip,如果用自己的電腦或者沒有,下載網站在下面~~(按一下圖片紅色文字那邊就會自動下載)
- https://www.transmissionzero.co.uk/software/freeglut-devel/
- 把freeglut-MinGW-3.0.0-1.mp.zip檔案解壓縮後,點選freeglut-MinGW-3.0.0-1.mp檔案夾,在選擇freeglut檔案夾,最後打開lib檔案夾會看到以下畫面
- 接著把"libfreeglut.a"複製一遍貼上得到"libfreeglut - 複製.a"
- 把"libfreeglut - 複製.a"重新命名為"libglut32.a",副檔名不用動,完成初始設定了,接下來就可以開啟CodeBlocks
- 老樣子開啟CodeBlocks(17.12版本最佳)
- 點選左上角"File",接著拖移屬標到"New",但是不要按下去!右邊浮現選項後,選擇"Project"
- 進入Project後,不用滑至最下方,選擇"GLUT Project"開源軟件,然後按下視窗右上角的"Go"
- 進入第一個畫面直接按下"Next",下一頁設定名稱(Project title)為"Week02-1.1_GLUT_茶壺",(檔案位置推薦設定在桌面)即可按下"Next"
- 第三頁不能急著按"Finish",點選那神奇的三個點"..."
- 然後就會出現一個視窗
- 什麼都不要做,沒錯就是這樣,然後按下"X"即可
- 接下來會直接跳出選擇資料夾頁面,Just like this,選擇一整個"freeglut-MinGW-3.0.0-1.mp"裡的"freeglut"資料夾(不需對檔案點兩下,按一下選取後,直接按確定即可)
- 恭喜你成功完成了前置作業,畫面是灰色空白的,到目前為止跟上禮拜一樣,程式碼還是GLUT的範例,請去左方"Projects",展開你的檔案名稱,展開"Sources",找到主程式"main.cpp"點擊兩下
- 接著畫面會顯示範例程式碼,就是原本會跑出紅色球,紅色三角錐,跟紅色甜甜圈的那個
- 不要懷疑!全部刪除!寫上屬於自己的程式碼~~
- 以下為Week02-1.1_GLUT_茶壺範例:
第二個程式:GLUT實作進階茶壺
- 仿造以上開啟檔案方法開啟一個新的檔案,以下這一頁不須再點"..."來找尋"freeglut"資料夾,因為你剛剛找過電腦自動存檔了,除非重啟或者換一台電腦才需重新抓位置
第三個程式:GLUT實作頂點跟茶壺
第四個程式:GLUT實作彩色版頂點跟茶壺
- 仿造以上開啟檔案方法開啟一個新的檔案,以下這一頁不須再點"..."來找尋"freeglut"資料夾,因為你剛剛找過電腦自動存檔了,除非重啟或者換一台電腦才需重新抓位置
- 程式碼還是GLUT的範例,請去左方"Projects",展開你的檔案名稱,展開"Sources",找到主程式"main.cpp"點擊兩下
- 全部刪除!寫上屬於自己的程式碼~~
- 首先寫上程式碼執行之框架
//#include <bits/stdc++.h>函式庫是一個包含近乎90%函式的一個函示庫(剛好這就是其中10%)母湯用
#include <GL/glut.h> ///(For Windows)
///#include <GLUT/glut.h>(For Mac OS)
void display()
{
glBegin(GL_POLYGON);
glEnd();
glutSwapBuffers(); ///交換顯示出來
}
int main(int argc,char *argv[]) ///這個main()括號裡的程式碼可以程式讀取小黑內容
{
glutInit(&argc, argv); ///啟用GLUT功能
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); ///GLUT顯示模式
glutCreateWindow("Week02-3_GLUT_回家作業"); ///要建立一個視窗,這是他的名稱
glutDisplayFunc(display); ///要顯示的函示 display()
glutMainLoop(); ///主迴圈卡在後面
}
- 回到小畫家,我們看到圖片的像素都是XX(X軸)*YY(Y軸)像素,但是程式語言只有-1到+1像素,所以我們要做轉換,以下為轉換公式
- 假設我要取的點位於70*105像素,那我就寫上
- glVertex2f((70-100)/100.0,-(105-100)/100.0);
- glVertex2f((XX-100)/100.0,-(YY-100)/100.0);
- 注意像素得要控制在200*200以內,不然會顯示不出來!
- 如果你很喜歡這個圖片或者找不到低於200*200的圖,可以利用以下網站調整
- https://www.iloveimg.com/zh-tw/resize-image/resize-png
- 調整完之後就可以抓頂點了!
- 以下為Week02-3_GLUT_回家作業範例:
沒有留言:
張貼留言