(2)範例
到http://www.cmlab.csie.ntu.edu.tw/~0/jsyeh/3dcg1網站下載source、data、win32、glut32.dll這四個檔案
開啟Texture.exe
glTexCoord2f(tx,ty)可改變Texture space view(上方視野)座標
4個點的依序順序是按照右手座標系統
(3)實作:OpenGL
上網搜尋OpenGV2.1找到這個'網站
下載win32-vs2008.exe版本
安裝到C:\OpenCV2.1目錄
freeglut3.0.0 MinGW
解壓縮後將libfreeglut.a檔複製並改名為libglut32.a
到codeblock裡開啟glut 並儲存 開始打開啟圖片的程式碼
#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();
}
若只打程式碼不能編譯,須更改目錄
先在檔案上按滑鼠右鍵,點擊Build option
更改Search direction complier目錄
更改更改Search direction Linker目錄
更改Linker setting
都改完後即可執行
(4)實作:OpenCV+OpenGL貼圖
(5)期中考:10行OpenGL程式
glPushMatrix();//備份矩陣10%
glRotatef(angle,x,y,z);//旋轉40%
glTranslatef(x,y,z);//移動40%
glScalef(x.y,z);//縮放50%
glBegin(GL_POLYGON);開始畫60%
glColor3f(r,g,b);////顏色、色彩70%
glTexCoord2f(tx,ty);貼圖座標80%
glNormal3f(nx,ny,nz);//打光的法向量90%
glVertex3f(x,y,z);//頂點 100%
glEnd();
glPopMatrix();還原矩陣30%
glTexCoord2f(tx,tv);//貼圖座標
沒有留言:
張貼留言