#下載上課範例
https://jsyeh.org/3dcg10/
下載 source data win32
1 用Notepad++研究 soccerball.mtl soccerball.obj
2 解壓縮 windows.zip => 下載\windows\Transformation.exe
3 解壓縮 Data.zip => 下載\windows\Data\一堆模型檔
4 啟動Transformation.exe 右上角可切換3D模型
#研究今天的檔案
OBJ中,有3個重要英文縮寫
- v代表 vertex
-vn 代表 vertex normal 和打光相關的頂點法向量
-f 代表face
-解釋: 3dxmax 習慣叫 triangles 三角形,執行時快又有效率
-在MAYA等動畫軟體中,習慣用face (有三角形,四邊形,五邊形)
-其他: usemtl xxx 使用 material xxx
-其他: g xxx 代表 group xxx 分群組用的
#研究 Gundam的模型
-Gundam.obj
-Gundam.mtl
-Diffuse.jpg 是主要的material 貼圖
-AO.jpg 是另一張貼圖,今天不使用
-研究Gundam.obj裡面有v頂點,vt頂點貼圖座標,vn頂點法向量
-f是face, 裡面有兩個斜線 v\vt\vn標註三個對應的參數
#week07_0_sample
安裝 freeglut ,lib\libfreeglut.a 複製成 libglut32.a
File\New\Project GLUT專案 week07_0_sample
#week07-1_obj_gundam
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加入
4.把11行GLUT程式,放進來
5.把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_lighting
#week07-3_obj_gundam_opencv_texture
設定好OpenCV
0.安裝 OpenCV-2.1, 要加PATH,用預設目錄
1.重開 CodeBlocks, 設定貼圖的3個設定 Setting-Compiler
1.1.在Search directories 加入2個目錄
-Compiler 加入 C:\OpenCV2.1\include
-Linker 加入C:\OpenCV2.1\lib
1.2.在Linker setting 裡,加入3個 cv210 cxcore210 highgui210
模仿剛剛的做法,全部都再做一次,
1.File-New-Project, GLUT專案week07-2_obj_gundam_opencv_texture
2.把glm.cpp glm.h freeglut.dll Gundam.obj Gundam.mtl放入這個目錄
3.Add files加入glm.cpp
4.再把Diffuse.jpg也放進去
5.貼入week07-1的程式碼
glutMainLoop()之前,也要加入myTexture("Diffuse.jpg");
最後, 最前面加入myTexture 對應的18行程式


沒有留言:
張貼留言