2019年4月11日 星期四

06160494。電腦圖學-貼圖。

(0)預備工作:
檔案網址:http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/

  1. 下載:WIN32DATAGLUT32.DLLsource
    壓縮在同一個資料夾(WINDOWS要包含DATAGLUT32.DLLSOURCE)
需要FREEGLUT-MINGW.ZIP檔案。可以在FREEGLUT WINDOW的網站中找到。
Download

freeglut 3.0.0 for MinGW壓縮檔案,在LIB裡面複製LIBFREEGLUT,貼上改成LIBGLUT32。

開啟CODEBLOCK。FILE(左上角)->NEW->PROJECT->GLUT PROJECT->(命名檔案)->下一步->路徑改成FREEGLUT資料夾的路徑。.
(1)今天的主題:
  1. 主題:貼圖 Texture
  2. 範例:Texture.exe
  3. 實作:OpenCV
  4. 實作:OpenCV+OpenGL 貼圖
  5. 期中考:10行 OpenGL程式
(2)glTexCoord2f(tx,ty)=(gl程式Texture貼圖Coordinate座標2f(兩個座標,x,y) );
(3)右手定則 
2  1  [o]   3    2[o]
  _
 |  |
 |_|
0  3   [k]   0    1[k]




(5)期中考10行
glPushMatrix();///備份矩陣
glRotatef(angle,x,y,z);///旋轉
glTranslated(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();///備份矩陣

安裝(openCV2.1)[https://sourceforge.net/projects/opencvlibrary/postdownload]
以下是使用說明(注意!必須安裝在C:\OpenCV2.1)
A:兩次下一步之後,在選擇區塊選擇第二或第三項(第一項是不安裝)
B:在CMD區域的path裡面確定有沒有openCV2.1\Bin
C:開啟CODEBLOCK開始用吧
D:NEW->PROJECT->GLUT
D-2:下載好FreeGlut的檔案(放桌面,把bin裡面的libfreeglut複製一份改成libglut32)
E:開啟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();
}

記得專案需要設定(畢竟用了非預設路徑的東西)
Bulid option
{}
Link Settings
{

}
search settings(compiler){

}
search setting(Linker){


}

沒有留言:

張貼留言