2024年4月1日 星期一

week07.0313

 ##week07

##下載上課範例 source data win32

研究data目錄

1.用 NotePad++研究soccerball.obj soccerball.mtl

2.解壓縮 data win32

3.啟動 Transformation

##研究/分析今天的檔案

OBJ裡,有3個重要的英文單字縮寫

- v 代表 vertex 頂點

- vn 代表 vertex normal 和打光相關的頂點法向量

- f 代表面 face (有人會拼成 facet 比較小的面) 

- 解釋:3dxMax 習慣叫 triangles 三角形,執行時,快又有效率

- # 井號代表註解,是給人看的,不是給電腦看的

- 其他:usemtl XXX 使用 materail XXX

- 其他:g XXX 代表 group XXX 分群組用的


##研究 Gundam 的模型

- Gundam.obj 現在要開啟這個檔案

- Gundam.mtl 

- Diffuse.jpg 是主要的 material 材質貼圖

- AO.jpg 是另外一個貼圖,今天不用它


##week07_0_sample

1.安裝 freeglut ,將 lib\freeglut.a 複製成 libglut32.a

2.File-New-Project,GLUT 專案 week07_0_sample


##week07_1_obj_gundam

1.先將 source.zip 裡的 glm.h 解壓縮,再把 glm.c 改成 glm.cpp

2.File-New-Project,GLUT 專案week07_1_obj_gundam

3.把 glm.c 和 glm.cpp 放入 week07_1_obj_gundam 同一個目錄

4.CodeBlocks 的 week07_1_obj_gundam 專案按右鍵,Add 把 glm.cpp 加入

5.把11行 GLUT 程式,放進來

6.把 glm 使用時,需要的3段程式放進來

但是無法順利執行,因為「工作執行目錄」很奇怪。我們改一下

1.專案,按右鍵,選最下面的 properties,跳出視窗,選第2個 Build targets

2.把 Execution working dir 工作執行目錄,改成小數點

3.小數點 . 代表現在專案的目錄,桌面 \week07_1_obj_gundam 目錄

4.把 freeglut\bin\freeglut.dll 放進目錄,桌面 \week07_1_obj_gundam 目錄

5.這時,把 Gundam.obj Gundam.mtl 和 freeglut.dll 都放進目錄,桌面 \week07_1_obj_gundam 目錄








##week07_2_obj_gundam_opencv_texture

1.安裝 Opencv-2.1,要加 path

2.重開 CodeBlocks,設定貼圖的3個設定 Settings-Compiler

3.在 Search directories 加入2個目錄

-Compiler 加入 C:\Opencv.1\include

-Linker 加入 C:\Opencv.1\lib

4.在 Linker setting 裡,加入3個cv210, cxcore210, highgu210

#模仿剛剛的做法,全部再做一次

1.File-New-Project,GLUT 專案week07_2_obj_opencv_texture

2.把 glm.c 和 glm.cpp 放入 week07_1_obj_gundam 同一個目錄

3.CodeBlocks 的 week07_1_obj_gundam 專案按右鍵,Add 把 glm.cpp 加入

4.再把 Diffuse.jpg 也放進去

5.貼入 week07_1 的程式碼


glutMainLoop()之前,也要加入 myTexture("Diffuse,jpg");

最後加入 myTexture 對應的18行程式









##week07_3_obj_gundam_opencv_texture_lighting

***





沒有留言:

張貼留言