2023年3月29日 星期三

第七週 - Texture OpenCV

 https://jsyeh.org/3dcg10/

下載
- data
- win32

解壓縮
- windows.zip =>下載\windows\Transformation.exe
- data.zip =>下載\windows\data\模型
打開Texture.exe


step01-1

glColor3f(r,g,b)的結果,會與貼圖的結果混在一起
我們已經熟悉glVerTex2f(x,y,z)是畫3D點的座標,在畫之前,可設定對應的貼圖座標
glTexCoord2f(tx,ty)而這些程式碼會放在glBegin()和glEnd()中間。


step01-2

試著改一個頂點的貼圖座標,如果超過0...1範圍的話,也會有圖,同時請觀察
4邊形其實會被拆解成2個3角形畫出來。
在3D的世界裡 圖學都是用三角形來畫 又快又好 像Unity,3dsMax底層的OpenGL等
但在人的理解中4邊形比較好用所以Maya用4邊形指示匯入遊戲後 還是3角形在畫。


step02-1
為了要做貼圖,我們需要將圖片讀入,最好的讀圖的方法:OpenCV
用舊版OpenCV 2.1 安裝 注意:


step02-2

CodeBlocks打開 -> Settings ->Search directories -> 

1. Compiler:C:\OpenCV2.1\include
2. Linker C:\OpenCV2.1\lib
3.在Linker setting裡 加3個名字: cv210 cxcore210 highgui210

step02-3



step03-1

來自gist.github.com/jsyeh 裡面myTexture sample剪貼
並將void display()裡的程式修改

step03-2
來自gist.github.com/jsyeh 裡面myEarth 剪貼
會轉的地球


沒有留言:

張貼留言