2023年4月6日 星期四

week08 模型


 Week08-0-1 下載模型


1.前去 https://jsyeh.org/3dcg10/ 網站下載壓縮檔

   分別為source、win32、data32


2.將下載的 windows.zip data.zip 解壓縮至同個資料夾



關於3D模型的概念:
程式碼中的 
v 對應 vertex (頂點)
vt 對應 (貼圖座標) glTexCoord2f
vn 對應 (法向量)
f 對應 (對應面)






利用MAYA匯出OBJ檔

1.打開maya進行操作
        在上方功能類按下Windows > Setting/Perferences > Plug-in Manager 進行設定


2.確認完後再 File > Export All 選擇 OBJexport 及 mel 檔案類型進行匯出




Week08-0-2

1.利用剛剛匯出的OBJ應用在 week08-1 解壓縮的Transformation.exe
  先將匯出的OBJ檔及MTL檔模型放進\data裡,並都改名成 f-16



2.打開Transformation.exe進行確認操作,對右邊模型視窗點擊右鍵,點選f-16 jet模型




Week08-1 glm model


1.用codeblocks創建GLUT專案,並複製week03-1的程式碼貼上並修改



2.將一開始下載的source.zip裡的glm.h檔解壓縮至week08-1 GLUT專案資料夾裡




3.在#include <GL/glut.h>下多打一行程式碼#include "glm.h"
   會查詢目錄裡是否有glm.h這個檔




4.將source.zip裡的glm.c解壓縮至week08-1目錄裡,並修改副檔名為 .cpp





5.在codeblocks右邊專案檔案列對week08-1案右鍵點選 Add files,點選glm.cpp載入檔案





6. 接下來要載入匯出的MAYA模型OBJ檔
     將模型OBJ檔丟入指定的資料夾 如: \freeglut\bin





7. 多加幾行程式碼

GLMmodel * pmodel = NULL;
if(pmodel==NULL)
    {
        pmodel = glmReadOBJ("f-16.obj");
        glmUnitize(pmodel);
    }
    glmDraw(pmodel, GLM_SMOOTH|GLM_MATERIAL);




8. 執行程式確認自己的模型有正常顯示





Week08-2-1 glm model texture

1. 用codeblocks創建新GLUT專案,並複製week08-1的main.cpp程式貼上



2. 進行程式碼修改 多加兩行:   將pmodel = glmReadOBJ(".obj");裡免得obj名改成       Gundam.obj
    glmFacetNormals(pmodel);
        glmVertexNormals(pmodel,90);



3. 將glm.h及glm.cpp放進week08-2專案資料夾裡,並add files 進glm.cpp



4. 將老師傳的鋼彈的檔案放入指定資料夾 \freeglut\bin




Week08-2-2 鋼彈模型材質

1.安裝OpenCV,設定三步驟
    Search directoriescompiler中加入C:\OpenCV2.1\include
    Linker中加入C:\OpenCV2.1\lib
    Linker Setting中加入的cv210 cxcore210 highgui210




2.將鋼彈材質進行垂直反轉,讓其在程式中讀取時能正常顯示



3.執行並檢查鋼彈材質是否正常顯示

沒有留言:

張貼留言