本週主題:
(1.)期末作品示範
(2.)背景貼圖示範
(3.)打光、貼圖切換
(4.)讀檔內插示範
(3.)打光、貼圖切換
(4.)讀檔內插示範
(5.)學期總複習
1.認識貼圖背景
請下載Facebook社團的檔案(Earth.zip, freeglut.zip)解壓縮下載到桌面
接著下載openCV 2.1.0版本
注意,安裝時記得選取給所有電腦使用者的路徑
接下來打開myEarth.cbp,為了要做出貼圖,需要使用以下東西:
這個是只有加一個貼圖的情況。如果要加更多貼圖,GLuint id;的id變數後面可以自己加(id2,id3......)
接著要放背景圖,我們在display函式中修改成如下:
void display()
{ glEnable(GL_DEPTH_TEST); ///要啟動 Detph Test 深度值的測試,3D顯示才正確
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glBegin(GL_POLYGON);///多邊形 開始畫
glTexCoord2f(0,0); glVertex3f(-1,+1,0);
glTexCoord2f(1,0); glVertex3f(+1,+1,0);
glTexCoord2f(1,1); glVertex3f(+1,-1,0);
glTexCoord2f(0,1); glVertex3f(-1,-1,0);
glEnd();///結束畫
glPopMatrix();
glFlush();
}
像這樣~~
接著下載openCV 2.1.0版本
注意,安裝時記得選取給所有電腦使用者的路徑
接下來打開myEarth.cbp,為了要做出貼圖,需要使用以下東西:
這個是只有加一個貼圖的情況。如果要加更多貼圖,GLuint id;的id變數後面可以自己加(id2,id3......)
接著要放背景圖,我們在display函式中修改成如下:
void display()
{ glEnable(GL_DEPTH_TEST); ///要啟動 Detph Test 深度值的測試,3D顯示才正確
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glBegin(GL_POLYGON);///多邊形 開始畫
glTexCoord2f(0,0); glVertex3f(-1,+1,0);
glTexCoord2f(1,0); glVertex3f(+1,+1,0);
glTexCoord2f(1,1); glVertex3f(+1,-1,0);
glTexCoord2f(0,1); glVertex3f(-1,-1,0);
glEnd();///結束畫
glPopMatrix();
glFlush();
}
像這樣~~
其中,
glTexCoord2f(0,0); glVertex3f(-1,+1,0); glTexCoord2f(1,0); glVertex3f(+1,+1,0);
glTexCoord2f(1,1); glVertex3f(+1,-1,0);
glTexCoord2f(0,1); glVertex3f(-1,-1,0);
glTexCoord2f(1,1); glVertex3f(+1,-1,0);
glTexCoord2f(0,1); glVertex3f(-1,-1,0);
前面代表貼圖座標,後面代表3D頂點
這個就是我們的背景貼圖
2.套用貼圖到自己的機器人
(這裡老師用的是FB社團內的myGLMSample做示範)
在期末作業,原本的背景通常都是白色底,我們可以運用上一節課教的貼圖,讓機器人變得更生動!
沒有留言:
張貼留言