2024-04-01 Week07
1. 主題: OBJ模型
2. obj檔、mtl檔、FBX檔
3. 檔案格式: v頂點 vt頂點貼圖 vn頂點法向量
4. 複習貼圖、glm模型
##下載上課範例
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 分群組用的
##研究 Gundam 的模型
- Gundam.obj 現在要開啟這個檔案
- Gundam.mtl
- Diffuse.jpg 是主要的material 材質貼圖
- AO.jpg 是另一張貼圖,今天不用他
0.安裝freeglut,將 lib\libfreeglut.a 複製成libglut32.a
1.File-New-Project,GLUT專案,week07-0_sample
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行程式





沒有留言:
張貼留言