2024年4月1日 星期一

Sean的電腦圖學日誌 week07

 jsyeh.org/3dcg10

下載source data win32

要研究data目錄

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

2.解壓縮windows.zip=>下載\windows\Transformation.exe

3.解壓縮data.zip=>下載\windows\data\一堆模型檔

4.啟動Transformation.exe右上角,可切換3D模型


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

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

-v代表頂點

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

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

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

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

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

-其他: usemtl XXX 使用 material XXX

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

-其他: mtllib Gundam.mtl 有另外一個檔案叫Gundam.mtl裡面有一堆mtl


##研究Gundam的模型

-Gundam.obj

-Gundam.mtl

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

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

-研究Gundam.obj 裡面, 有v頂點vt頂點貼圖座標vn頂點法向量

-f是face面, 裡面有兩個斜線 v/vt/vn 標註3個對應的參數


##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

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行程式




沒有留言:

張貼留言