#week16-0_sample
先準備上課的環境
- freeglut 安裝
- OpenCV 2.1 安裝
- 重開CodeBlock 設定 Compiler-Setting
- Search directories 的 compiler 要加入 C:\OpenCV2.1\include
- Linker 的 lib 要加入 C:\OpenCV2.1\lib
- Linker 設定,要加入 cv210 、 cxcore210 、 highgui210
1. 下載老師範例
https://jsyeh.org/3dcg10/ 下載 data、win32
打開 Projection
#week16-1_sample_gluLookAt
1. 要改 resize() 函式 在裡面,加上 glutLookAt() 函式
就可以看著左上方的圓球
2. 現在要做另一個修改,先把剛剛加的 第39行程式碼註解掉
if ( key == '1' ) 看左上方
if ( key == '2' ) 看上方
if ( key == '3' ) 看右上方
按 1
#week16-2_glutReshapeFunc_gluPerspective_gluLookAt
先看課本 Projection.exe 的範例
- gluPerspective 透視投影
- glOrtho 垂直投影
- glFrustum 比較奇怪,我們通常不用他的投影法
左、又、上、下、近、遠 共6組參數
- gluPerspective ( 視角、長寬比、 z近、 z遠 )
- fovy => field of view in y 視角
- aspect ratio 長寬比
1. 貼上11行程式碼 , 再加上 8行 ,做出透視
2. 在 int main() 裡,加入 glutReshapeFunc(reshape);
加完 reshape 後,可自己隨意改變式窗大小,物體的比例不會跟著改變 !
3. 寫自己的 void reshape( int w, int h ) {...}
! glutInitWindowSize(... , ... ); ///加這行,可以隨意改變視窗長寬
#week16-3_myTexture_id1_id2_glBondTexture
若想要有 " 兩張貼圖 " ( 一張背景、一張給模型 )
1. 新增一個專案
偷 week05_rotating_earth / main.cpp 裡的程式碼
但執行會出錯,因為沒有圖檔
2. 匯入自己的圖檔當背景圖
沒有留言:
張貼留言