🎊 今天是9/28 祝老師 ❤❤教師節快樂❤❤ 🎊
事前提要:
1. 要注意電腦上的codeblocks上面是有裝圖學要用的MinGW編譯環境,並且將相關設定都設好
學姊的作品:繪製小小兵
1. glClear();的使用
在Display()中
glClear(GL, COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
與main()中
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
這兩行藍色的部分是互相對應的,在使用的時候都要記得寫(他代表的是圖片3D的深度),不然在Lunix之外的系統跑的時候會跑不出圖
2. 讀檔的時機
要在程式中開檔案的時候,要記得不要在會使用很多次的函式中用,因為fscanf本身速度就不快,在常常使用的函式中使用的時候,會讓程式跑更慢,所以開啟檔案和讀檔的時機要注意!
3. glPointSize(10.0f);
glPointSize(10.0f);
這行把一格圖點放大10倍,這樣圖片如果放超級大(高解析度),也不會壞掉(髒髒的)*,除非放到100倍才有可能壞掉。因為她在畫的時候,每個點會把前面的點蓋住,變成一條細細的線,畫到下一行的時候會把點的下半部分蓋住,始點只剩下原本左上角的細細的點(應該是原本的1/10)。
以下面⇘這張圖為例,大概就是長這樣,原本和淺綠色一樣的大小,最後只會剩下左上角藍色的那個小塊
(繪圖技術不良,請見諒>"<)
有這行放到很大的樣子 VS 沒有這行放大的樣子
4. 檔案放置位置
檔案要記得放在freeglut\bin的資料夾裡面(上),不然圖片會跑不出來(下)

--------------------------------------------------------------------------
自己執行之後的結果😊
Vertex Buffer/ Array/ Shader
每次呼叫一個頂點的方式(glVertex3f(...))會很慢,用這個就可以一次用一刷(?)來執行,會比較快
然後好像沒有講太多~
介紹個好東西:
3d exploration是一款可以看3D模型的軟體
➧下載&安裝:
用瀏覽器搜尋關鍵字:3d exploration就可以下載安裝了
然後打開來(TA DA~~)
➧找模板
到老師的網站可以找一些檔案大小比較小的模板使用:jsyeh.org/3dcg10
➧建立新的.cpp檔
從範例中打開一個你喜歡的東西~~
然後另存成.cpp檔
要注意這邊要存成Open GL APP,不然之後一樣會不出來
就可以在自己設定存的地方找到剛剛存的.cpp
➧開啟新專案
接下來,在codeblocks中開一個新的openGl專案(忘了話請往Week01找~)
把剛剛新的.cpp檔全部內容複製貼上丟到這個專案的main.cpp中
➧解決問題
把舊問題砍掉(直接執行之後找問題點在哪裡,把他註解掉)
➧成果
就完成拉!可以看到海豚繞圈圈~~~
➧如果使用display list存取
在程式當中會有displaylist之類的程式碼,它可以加速程式
老師回應上週關於要如何畫成線:
glBegin(GL_POLYGON); ///替換這行的紅色部分
GL_POINTS 是畫點
GL_LINES 是畫線
GL_LINE_STRIP 是畫成像彩帶一樣不間斷的線
GL_LINE_LOOP 是畫成頭尾相連的線
GL_TRIANGLES 是畫成三角形(用這個比較多邊形有效率,而且多邊形也只能畫凸多邊形)
GL_TRIANGLE_STRIP 用三角形連出來的彩帶 (慈母手中線...臨行密密縫,用來補洞)
GL_TRIANGLE_FAN 用三角形連成一個扇形
---------------------------------------------------------------------------------------------------------------------------------------------
其他:
*在記事本中用ctrl+g 可以得到總共幾行
今日小心得:
老師上課很有趣
老師講評很浮誇😆😆
老師身體要保重















沒有留言:
張貼留言