2024年4月1日 星期一

賀week07_電腦圖學

##下載上課範例
jsyeh.org/3dcg10
下載source data win32
要研究 data 目錄
1.用Notepad++研究 soccer ball.obj  soccer ball.mtl
2.解壓縮 windows.zip => 下載\windows\Transformation.exe
3.解壓縮 data.zip => 下載 \windows\data\一堆模型檔
4.啟動 Transformation.exe 右下角,可切換 3D模型


 


##研究/分析今天的檔案
OBJ 裡,有3個重要的英文單字縮寫
- v代表 vertex頂點

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

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

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

- 在Maya 等動畫軟體裡,習慣用face (有三角形 四邊形 五邊形....)

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

- 其他: usemtl XXX 使用 materail XXX

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

- 其他: g XXX 代表 group XXX 分群組用的
- 其他: mtllib Gundam.mtl 有另外一個檔案叫 Gundam.mtl 裡面有一堆 mtl
- f 是 face面,裡面有兩個斜線 v/vt/vn 標註 3個對應的參數



##研究 Gundam 的模型

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

- Gundam.mtl

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

- AO.jpg 是另一張貼圖,今天不用他


##week07-0_sample

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

1.File-New-Project,GLUT專案,week07-0_sample




##week07-1_obj_gundam

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

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

1.File-New-Project, GLUT專案 week07-1_obj_gundam

2.將 glm.h 和glm.cpp 放入week07-1_obj_gundam 同一目錄

3. CodeBlocks的 week07-1_obj_gundam 專案按右鍵,Add把 glm.cpp加入

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

4.把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 放進目錄 桌面 \week07-1_obj_gundam 目錄



##week07-2_obj_gundam_opencv_texture

0. 設定好 OpenCV-2.1, 要加PATH, 用預設目錄

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

1.1. 在 Search directories 加入2個目錄

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

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

1.2.在 Linker setting 裡 ,加入3個 210 cxcore210 highgui210


模仿剛剛 week07-1的做法,全部都在做一次,

1.File-New-Project, GLUT專案 week07-2_obj_gundam_opencv_texture

2.把glm.cpp glm.h freeglut.dll Gundam.obj Gundam.mtl 放入這個目錄

3.再把 Diffuse.jpg 與放進去

4.貼入 week07-1 的程式碼

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



沒有留言:

張貼留言