2018年5月5日 星期六

Week10_ㄩㄐ來不及交出去的作業3

HW3 – Note



建議搭配小葉老師的直播影片

(1)建立CodeBlocks GLUT專案

(2)專案建立後逐一修改範例給予的程式碼

① 移除不需要的程式碼片段


以及註記部分程式碼EX:打光的函式)


② 修改完後按下Build and Run

除了小黑之外,還會有被打光的可愛茶壺(?)



③ 調整光源

影片約07:15有提到調整打光的位置

更改完再執行一次會得到光源在前方的茶壺

(3)source內匯入三個檔案


 glm.h
② glm.c  ➤ glm.cpp
③ transformation.c


(4)將 transformation.c用可編譯程式開啟

利用搜尋找到 pmodel = glmReadOBJ("data/porsche.obj");

從這裡開始把 if(!pmodel)… ~~ glDraw… 複製起來到 CodeBlocks 

複製後先 Build 檢查有沒有錯誤,若無誤則會出現保時捷

※更改執行目錄


利用 Notepad++ 開啟程式的cbp檔,編輯執行目錄
把檔案預設的 bin 的位置改成 ” . ”

記得把freeglut.dll塞到專案檔的資料夾內,這個時候執行程式會出現小黑

小黑找不到保時捷的obj


此時,我們的檔案就可以開始匯入了!
匯入之前要先把自己在 MAYA 建好的模型轉成 obj 檔
(忘記主任怎麼教的可以看這裡

轉完以後把檔案塞到程式碼的資料夾內

接著看影片跟著老師把程式碼補齊!

(5)更改程式碼


比較重要的是中間這兩塊
也要記得在主程式加入 motion 滑鼠事件(轉動模型用)
 ➤ glutMotionFunc(motion); /*讓滑鼠事件有效果*/

跟著老師把應該加的程式碼輸入完畢、自己的模型也讀入以後
照理來說應該會長這個樣子(?)

根據作業內容轉動它會長這樣

利用錄影做成的 GIF 在這裡 ↓ 

檔案連結在此

沒有留言:

張貼留言