2024年4月11日 星期四

電腦圖學 week08

 week08

下載課本範例 https://jsyeh.org/3dcg10/
下載 source data win32

打開AL.mtl 看裡面的 ka kd
打開AL.obj 裡面很多內容
#代表註解
v 代表頂點 後面三個數字是頂點座標
f  代表面 face 或 facet 後面有頂點編號
g 代表 group 

week08-0 Sample

freeglut下載 
libglut32

week08-1_glm_gundam

從課本下載範例 source
把glm.c glm.h 新增到檔案裡
glm.c 改名成 glm.cpp
右鍵add file
新增資料夾 data
把桌面鋼彈裡面的兩個檔案丟進去

貼上上周的程式碼
#include "glm.h"
GLMmodel * pmodel = NULL;
void drawmodel(void)
{
    if (!pmodel) {
pmodel = glmReadOBJ("data/porsche.obj");
if (!pmodel) exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel, 90.0);
    }

    glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);
}
把porsche換成Gundam

week08-2_glm_gundam_opencv_texture

安裝opencv 記得要add path
重開 codeblocks
安裝OpenCV2.1記得要Add PATH,不要改目錄
關閉重開CodeBlocks(才會把PATH設定設好,要記得存檔)
重作剛剛的glm.h glm.cpp放到目錄裡,把Gundam.obj Gundam.mtl及新的Diffuse.jpg都放到專案的data目錄裡
在專案裡,按右鍵Add Files把glm.cpp加入專案
(歷史餘毒)要把專案的工作執行目錄,換成小數點.
要把 桌面\freeglut\bin\freeglut.dll 複製到專案目錄裡
Setting-Compiler要加入OpenCV相關的3個設定
compiler include 要加入 C:\OpenCV2.1\include
linker 的 lib 要加 C:\OpenCV2.1\lib
linker 設定 要加cv210 cxcore210 highgui210
改一下glmDraw(pmodel,GLM_SMOOTH|GLM_MATERIAL|GLM_TEXTURE);
新增一個專案,命名為"week08-3_glm_gundam_opencv_texture_lighting"
重作剛剛的glm.h glm.cpp放到目錄裡,把Gundam.obj Gundam.mtl及新的Diffuse.jpg都放到專案的data目錄裡
專案設定 左邊 右邊-最下面Properties跳出來的第二頁,工作執行目錄executable working directory設成小數點.
最後,在main.cpp裡,貼入week08-2_glm_gundam_opencv_texture程式碼8行陣列+12+2行的函式呼叫





Git 指令

cd desktop

git clone https://github.com/mickey1132/2024-graphicsA

cd 2024-graphicsA

git status

git add .

git status

git config --global user.email mickylin1132@gmail.com

git config --global user.name mickey1132

git commit -m WeekXX

git push

沒有留言:

張貼留言