2023年4月6日 星期四

這是什麼 Week08

 一、3D模型

網址:https://jsyeh.org/3dcg10/

開啟data資料夾,用Notepad++開啟porsche(車子)的兩個檔案

從第8行開始( .obj 檔 )

v 是 vertex 頂點

vn 是 vertex normal 法向量

( vt 是 glTexCoord2f(x,y)貼圖 )

f 是 face 面( 第幾個頂點 / 貼圖 / 法向量 )

用 Maya 匯出 3D 模型( OBJ 檔)

網址:https://www.youtube.com/watch?v=D4a7cNFF9kQ

用範例開啟自己的3D模型

用Maya做好模型之後匯出為OBJ檔,把檔名改成跟範例資料夾data裡的某個檔案一模一樣,並放進data資料夾,取代原本的檔案

開啟範例後,右鍵右邊的畫面,點選剛剛的F-16

二、glm.h

初始

建立新GLUT專案

把初始程式碼打上

glm.h

加上#include "glm.h"

記得把source壓縮檔裡的glm.h檔案放進GLUT專案的資料夾裡

確定可以執行程式

glm.cpp

把source壓縮檔的glm.c放進GLUT專案的資料夾裡,並把檔名改成 glm.cpp
回到CodeBlock,對左側視窗的目錄右鍵,Add files...。選擇 glm.cpp

讀入檔案並畫出

把剛剛的F-16兩個檔案( .obj .mtl)放進freeglut資料夾裡的bin資料夾

打上新的程式碼

執行程式會發現沒看到剛剛加的模型,那是因為太大了

縮放大小

打上Unitize()函式,縮放pmodel的大小,記得把茶壺刪掉

執行程式

三、貼圖myTexture()

複製

建立新GLUT專案,把剛剛的程式碼複製貼上

並加上新的程式碼,讀取的檔名要改成Gundam.obj

把Gundam.obj跟Gundam.mtl放進freeglut的bin裡
回到CodeBlock,跟剛剛一樣,要Add files,選glm.cpp,然後glm.h放到GLUT專案的資料夾裡

網址:https://gist.github.com/jsyeh

複製myTexture上面的程式碼

再安裝OpenCV2.1,步驟同上周,CodeBlock設定也要改

重開CodeBlock,打開剛剛的專案(全選專案裡的檔案跟資料夾)

在main()函式裡加入myTexture("Diffuse.jpg");

把display()函式裡加上GLM_TEXTURE
把Diffuse.jpg貼圖圖檔放在freeglut的bin裡面
並且用小畫家把圖上下翻轉

執行程式


沒有留言:

張貼留言