# week09
今日主題是貼圖
今天有先進行期中考試,考OpenGL必背的10個函式,總共有11行。
主題一:跑課本範例
至網頁下載檔案 網址: https://jsyeh.org/3dcg10/
下載windows.zip,data.zip和source.zip,把解壓縮後的data資料夾放在解壓縮後的window資料夾裡。執行Texture.exe範例,最重要的程式碼觀念是glTexCoord2f(tx,ty);貼圖座標。
主題二:實作貼圖
第一步驟:要先下載貼圖需要的OpenCV
去moodle上課用軟體,下載OpenCV 2.1.0,(不是最新的版本,但舊版檔案小,簡單好用,各個版本都互通)
##注意!安裝執行的時候,有一步PATH要設定,要點選第二個(Add PATH...)&預設安裝位置一定要在C:\OpenCV2.1(C槽裡)
第二步驟:OpenCV安裝完後,要重啟CodeBlocks
第三步驟:設定CodeBlocks
1.打開新的File-New-EmptyFile,檔案名稱存為week09_opencv.cpp
接下來是一連串設定:
2.Setting-Compiler-Search directories-Compiler-Add C:\OpenCV2.1\include
3. -Search directories-Linker-Add C:\OpenCV2.1\lib
4.Setting-Compiler Setting-Linker setting 輸入:cv210 按下Add & cxcore210 按下Add & highgui210 按下Add
第四步驟:輸入簡單的程式碼(讀入並秀出圖片):
```C++
#include <opencv/highgui.h>
int main()
{
IplImage * img=cvLoadImage("week09.jpg");
cvShowImage("week09",img);
cvWaitKey(0);
}
```
#include <GL/glut.h>
#include <opencv/highgui.h>
void myTexture()
{
IplImage * img = cvLoadImage("earth.jpg");///去找地圖!!
cvShowImage("img", img ); ///在 img視窗,放 img的圖
cvWaitKey( 0 );///等任意鍵繼續
//等一下這段會被改掉
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 texture");
glutDisplayFunc(display);
myTexture();
glutMainLoop();
}
沒有留言:
張貼留言