2019年4月12日 星期五

神のノト - Week07

{\__/}
( • - •)
/ > ❤️
------------------------------------------------------------------------------------------------------------

➤先準備好模擬器~


2.  data.zip / windows.zip / glut32.dll download

3. windows / data   |   windows / glut32.dll

今天課題! 

「貼圖Texture」


開啟Texture(貼圖)模擬器 ↓

貼圖程式碼:
glTexCoord2f( tx , ty ); ///取貼圖的點
         ↓
glVertex3f( x , y , z ); ///對應到貼圖放置的點

     測試圖  ↓
 


➤下載OpenCV (Ver 2.1- win32 - vs2008)


下載中需要勾選 Add Path → 會有C:\OpenCV2.1\bin, 裡面有dll檔需要使用!

下載好,如果Code:Blocks有開  →  要關掉重開!
就做好開起貝殼專案(Console application)的準備啦!

➤開起貝殼專案,以及做好debug!



➤準備好 freeglut,開啟GLUT方案,將貼圖程式加入其中


                                    程式碼如下    ↓


(貝殼專案)

#include <opencv/highgui.h>  /// 使用 OpenCV 的 HIGH GUI 介面

int main()
{
    IplImage    * img   =  cvLoadImage("earth.jpg"); ///讀圖檔

    ///(Ipl) Intel Performance Library  讀圖很快,處理很強!
    ///Image圖  * 指標  =  cv讀取 圖

    cvShowImage("opencv Window_06160504_test", img); ///秀出圖
    cvWaitKey(0); ///等按按鍵停止
}

--------------------------------------------------------------------------------------------------------

(GLUT專案)

#include <GL/glut.h>
#include <opencv/highgui.h> ///texture貼圖

static void display()0
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidTeapot(0.3);

    glutSwapBuffers();
}

int main(int argc, char *argv[])
{
    IplImage    * img   =  cvLoadImage("earth.jpg"); ///texture貼圖
    cvShowImage("opencv Window_06160504_test", img); ///texture貼圖
    cvWaitKey(0); ///texture貼圖

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("06160504_week07_texture");

    glutDisplayFunc(display);

    glutMainLoop();
}



➤發現問題一



➤解決方法:





➤發現問題二



➤解決方法:





➤發現問題三



➤解決方法:





➤新方案要再做一次設定!



➤GLUT專案,貼圖檔案位置要放置freeglut \ bin內!


結束啦! Yeah~

沒有留言:

張貼留言