今天要教的是Texture貼圖
一開始先前往https://jsyeh.org/3dcg10/並下載檔案
下載完成後,把它們解壓縮並把data資料夾拉進windows資料夾裡
點開Texture.exe
改變黃色框起來的數值會讓圖片的頂點位置變動,而紅色框起來則會讓圖片顯示的範圍改變(如果超過範圍,會repeat圖片)
紅色框框:貼圖座標
紅色那條線是隱形的線,更動glTextCoord2f任一個數值,圖片會以那條作為分界
也可發現圖學會把四邊形拆解成三角形,它的優點是又快又好,也是用三角形的有
Unity、OpenGL...而使用四邊形的是Maya,好處是人類好理解
開始來做貼圖
1.安裝OpenCV(不要安裝最新版本)
2.重開CodeBlocks
3.開始寫OpenCV
在安裝的第二步,要停一下把選項選到第2個或第3個(絕對不能選第一個,因為程式會跑不出來)
4.打開CodeBlocks,點選Settings的Compiler
5.跳出視窗後,開始做設定
*Search directory搜尋的目錄(Compiler include , linker lib),以及Linker setting
cv210、cxcore210、highgui210
2.Linker:C:\OpenCV2.1\lib
貼圖
開啟GLUT project
前往https://gist.github.com/jsyeh,複製老師寫的mytexture_sample.cpp的程式碼並貼上
在執行之前,先去網路上下載earth的圖片,並存到freeglut資料夾裡的bin資料夾
程式碼是
glBegin(GL_POLYGON);
glTexCoord2f(0,0); glVertex2f(-1,+1);
glTexCoord2f(1,0); glVertex2f(+1,+1);
glTexCoord2f(1,1); glVertex2f(+1,-1);
glTexCoord2f(0,1); glVertex2f(-1,-1);
glEnd();
執行畫面
做出會轉動的地球
一樣去複製老師寫的 myEarth.cpp的程式碼並貼上
*如果圖片名稱跟原來的程式碼的圖片名稱不一樣,要去改程式碼圖片的檔名*

沒有留言:
張貼留言