2024年6月11日 星期二

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


課本範例

1. https://jsyeh.org/3dcg10/ -下載 data win32

2. 解壓縮 window.zip data.zip

3. 把 data 資料夾整個丟到 window 資料夾


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 看右上方

```cpp

    static void key(unsigned char key, int x, int y)

    {

        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_glutLookAt

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

1.  File-New-Project week16-2_glutReshapeFunc_glutPerspective_glutLookAt

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. 找一張背景圖

沒有留言:

張貼留言