(1)主題:貼圖 Texture
(2)範例:Texture.exe
(3)實作:OpenCV
(4)實作:OpenCV+OpenGL貼圖
(5)期中考:10行OpenGL程式
下載"win32"、"data"、"glut32.dll" 三個檔案並解壓縮放入對應資料夾中
02 至windows/Texture.exe試試看貼圖的剪貼
可移動 glTexCoord2f(tx,ty); 看看剪貼
03 上網查詢OpenCV 2.1 至網頁下載 OpenCV-2.1.0-win32-vs2008.exe
下載MinGW的 "Download freeglut 3.0.0 for MinGW"
05 建立一個GLUT檔案,修改程式碼並修改相關設定
到Bulid Options/Search directories\Compiler 中 Add → C:\OpenCV2.1\include
到Bulid Options/Search directories\Linker 中 Add → C:\OpenCV2.1\lib
到Bulid Options\Linker settings 中 Add → cv210、cxcore210、highgui210
貼圖修改的程式碼:
#include <GL/glut.h>
#include <opencv/highgui.h> ///貼圖需要
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char**argv)
{
IplImage * img = cvLoadImage("earth.jpg"); ///貼圖需要
cvShowImage("opencv Window",img); ///貼圖需要
cvWaitKey(0); ///貼圖需要
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week08");
glutDisplayFunc(display);
glutMainLoop();
}
期中考洩題100%:
glPushMatrix(); ///備份矩陣
glRotatef(angle,x.y.z); ///旋轉
glTranslatef(x,y,z); ///移動
glScalef(x,y,z); ///縮放
glBegin(GL_POLYGON); ///開始畫
glColor3f(r,g,b); ///顏色、色彩
glTexCoord2f(tx,ty); ///貼圖座標
glNormal3f(nx,ny,nz); ///打光的法向量
glVertex3f(x,y,z); ///頂點
glEnd(); ///結束畫
glPopMatrix(); ///還原矩陣
沒有留言:
張貼留言