2024年6月6日 星期四

Week16 攝影機 投影 兩張貼圖

 week16-0_sample

準備上課環境

0. freeglut

1. OpenCV

2. 設定 CodeBlocks

    - include 目錄:C:\OpenCV2.1\include

    - lib 目錄:C:\OpenCV2.1\lib

    - link 3個設定:cv210  cxcore210  highgui210

3. File-New-Project week16-0_sample


week16-1_sample_gluLookAt

1. File-New-Project week16-1_sample_gluLookAt

2.要改 resize () 函式 ,在最下面增加 gluLookAt(0,0,0, -2.4,1.2,-6, 0,1,0)










3. 現在要做另一個修改,想要按按鍵時看不同地方

    - 按 1 看左上方
    - 按 2 看上方
    - 按 3 看右上方

if ( key=='1'){
        glMatrixMode ( GL_MODELVIEW );
        glLoadIdentity ();
        gluLookAt ( 0,0,0, -2.4,1.2,-6, 0,1,0 );
    }
    else if ( key=='2' ){
        glMatrixMode ( GL_MODELVIEW );
        glLoadIdentity ();
        gluLookAt ( 0,0,0, 0,1.2,-6, 0,1,0 );
    }
    else if ( key=='3' ){
        glMatrixMode ( GL_MODELVIEW );
        glLoadIdentity ();
        gluLookAt ( 0,0,0, 2.4,1.2,-6, 0,1,0 );
    }














week16-2_glutReshapeFunc_glutPerspective_glutLAt

將寫一個程式,11行 + 8行,做出透視投影

1.  File-New-Project week16-2_glutReshapeFunc_glutPerspective_glutLAt

2. 貼上11行簡單程式碼

3. 在 int main () 裡加入 glutReshapeFunc ( reshape )

4. 寫自己的 void reshape ( int w,int h ) {......}









week16-3_myTexture_id1_id2_glBindTexture

若想要有兩張貼圖 ( 一張背景、一張給模型 )

1.  File-New-Project week16-3_myTexture_id1_id2_glBindTexture

2. 偷用 week05 的程式碼,因為沒有圖檔,所以會出錯!

3. 找一張背景圖




沒有留言:

張貼留言