(1)主題:貼圖 Texture
(2)範例:Texture.exe
(3)實作:OpenCV
(4)實作:OpenCV+OpenGL貼圖
(5)期中考:10行OpenGL程式
download:window.zip 解壓縮 至window
data.zip 解壓縮 data拉至window
glut32.dll 解壓縮 glut32.dll移至window資料夾
data.zip 解壓縮 data拉至window
glut32.dll 解壓縮 glut32.dll移至window資料夾
> 開啟 Window > Texture.exe
> 開啟後會看見Texture.exe 視窗
> 框起來的部分是設定圖片四角的位置
#安裝 GLUT
1、Search Freeglut > Download Freeglut3.0.0 MSVC Package Download freeglut 3.0.0 for MinGW
2、將檔案解壓縮後複製一個libfreeglut.a檔並重新命名為libglut32.a
3、開啟Code Blocks>新增一個新的專案>點選Glut project
4、命名專案>選擇資料存放區(C:\Users\user\Downloads\freeglut\lib)>Finish
5、於左側project開啟程式碼>執行
貼上前幾週學的茶壺程式碼
#include <GL/glut.h>
void display(){
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc,char**argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("06160123");
glutDisplayFunc(display);
glutMainLoop();
}
稍微修改一下程式碼 加上自己抓的貼圖(54-01.jpg)
抓下來的貼圖要記得存在 C:\Users\user\Desktop\freeglut\bin
#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("54-01.jpg"); //貼圖需要
cvShowImage("opencv Window",img); //貼圖需要
cvWaitKey(0); //貼圖需要
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("06160123");
glutDisplayFunc(display);
glutMainLoop();
}
修改完之後還沒完成,還要做一些動作
1、在專案右鍵開啟Build options
2、在search > compiler > Add C:\OpenCV2.1\include
3、在search > linker > Add C:\OpenCV2.1\lib
4、 linker settings > Add cv210 cxcore210 highgui210
6、關閉地球視窗後,會出現黑底白身的茶壺
###圖學期中考(10行程式碼,須加註解)!!!
glPushMatrix();//備份矩陣 10%
glRotatef( angle, x , y , z );//旋轉 30%
glTranslatef( x , y , z );//移動 40%
glScale( 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();//還原舉陣 20%
沒有留言:
張貼留言