#Week16
1.主題:Camera 攝影機
2.主題:Projection投影機
3.主題:兩張貼圖
4.主題:glmUnitize() vs 自己調大小
5.期末作品
先用上課的課本教材
1.data.zip
2.windows.zip =>下載\windows\Projection.exe
了解glutLookAt(eyeX,eyeY.eyeZ,centerX,centerY,centerZ,upX,upY,upZ)
##week16-0_sample
先設好今天的上課環境
0.安裝freeglut
1.安裝OpenCV 2.1
2.重開CodeBlocks,設定opencv的3個設定
3.File-New-Project,GLUT專案Week16-0_sample
#week16-1_sample_glutLookAt
1.把剛剛week16-0整個目錄,複製成week16-1
2.複製後,改目錄名,改cbp專案檔名,用NotePad++改內容
要修改的程式碼,是想要Look At看著某個物體
我們的眼睛:0,0,0
要看的主角 center: -2.4,1.2,-6
我們的Up向量:0,1,0
我們要注入的函式是
```cpp
glutReshapeFunc(resize);
void resize(int width, int height)
{
gluLookAt(0,0,0, -2.4,1.2,-6, 0,1,0);
}
```
## week16-2_teapot_LookAt_glutReshapeFunc_reshape
1.File-New-Project,GLUT專案
week16-2_teapot_LookAt_glutReshapeFunc_reshape
2.貼上11行的GLUT的程式
3.看課本的教學,了解glutReshapeFunc(reshape);怎麼用
課本教學:
gluOrhto(左,右,上,下,近,遠);
gluPerspective(張角,長寬比,近,遠);
gluFrustum(左,右,下,上,近,遠);
寫程式,在int main()裡
glutReshapeFunc(reshape);
在前面,準備void reshape(int w, int h)
```cpp
void reshape(int w, int h){
float ar = w / (float) h;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60, ar, 0.1, 100);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
```
##week16-3_myTexture_id1_id2_glBlindTexture
讓程式,可以有兩張貼圖
可以參考Week05-2 和 Week05-3
1.新增專案File-New-Project,GLUT專案
week16-3_myTexture_id1_id2_glBlindTexture
2.貼上11行的GLUT程式,再貼上Week15-2的myTexture 12行程式
沒有留言:
張貼留言