醒來後
朋友傳給我的第一句話
還好老師有錄影片
從影片中可以知道今天的重點是關於運鏡的使用方法及掌握
第一部分(投影矩陣)
照慣例的要從老師給的網址
[http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/]
下載3個東西
[win32][glut32.dll][data]
在其中打開projection
在轉移矩陣跟備份矩陣後面所寫的函式內容會跟以前有所不同
分別換成了GL_PROJECTION以及GL_MODELVIEW
在下載回來的WINDOWS程式中
打開projection後能發現能發現有幾個數值能夠調整
分別是[fovy][aspect][][]
fovy是調整視野
aspect是調整寬、高比例
在垂直投影法gluPerspective(視野角度,寬跟高的比例,zNear,zFar)
第二部分(用codeblock做出projection的效果)
顯示3D模型的方法
用之前上課的函式將3D模型帶入
程式碼如下
void drawmodel(void)///輸入模型檔案
{
if (!pmodel) {
pmodel = glmReadOBJ("data/al.obj");
if (!pmodel) exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel, 90.0);
}
glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);
}
void display(void)顯示出模型檔案
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
drawmodel();
glutSwapBuffers();
}
注意!!!模型需打光,沒有打光模型就會變白色
要有打光效果需注意是否有以下兩行程式碼
glEnable(GL_DEPTH_TEST);///讓模型變立體
glEnable(GL_LIGHT0);///打光後讓立體的模型有顏色
GLfloat light_pos[] = { 0.0, 0.0, -1.0, 0.0 };
glEnable(GL_LIGHTING);///打光後讓立體的模型有顏色
glLightfv(GL_LIGHT0, GL_POSITION, light_pos);///打光的位置
利用gluLookAt函式調整參數達到運鏡的效果
利用三角函數調整運行的軌跡
讓鏡頭可以成圓形的運行軌跡
下課
沒上到課好後悔阿QQ
Perspective 素描
沒有留言:
張貼留言