- alpha內插公式 : alpha: `0.0~1.0`
ex: alpha=0 -> 舊,alpha=1 -> 新,alpha=0.5 -> 半新半舊
Step01-2
- 修改程式碼
- 在按'p'時,t=alpha值,當t<30(可以自己設定大小,讓內插角度變更細更多)時執行myInterpolate,讓角度從舊的慢慢變成新的,t>=30時執行myread函式,讓新角度帶進舊角度裡面,並輸出新角度。

Step02-1
利用計時器將動作印出來
Step02-2
攝影機
gluLookAt( (x,y,z), (x,y,z), (x,y,z));
Step03-1
- 建立新GLUT專案 week16_camera_projection_glitLookAt
- 備份專案內本來的轉圈圈的程式碼到記事本
- aspect ratio 長寬比 ex. 1920x1080, 1280x720, 640x480, 16:9, 4:3

- 程式碼:
void reshape(int w,int h){
float ar = (float) w / (float) h;
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);///3D->2D
glLoadIdentity();
gluPerspective(60,ar,0.1,100);
glMatrixMode(GL_MODELVIEW);///3D Model+View
glLoadIdentity();
gluLookAt(0,0,3, ///eye
0,0,0, ///看哪裡
0,1,0);///up向量
}
- 這樣視窗也能等比例拉大拉小







沒有留言:
張貼留言