OpenGL 函數

1.gluLookAt()——視圖變換函數函數

把本身的眼睛當成是照相機,前三個參數表示眼睛的座標,中間三個參數表示要拍照的物體的中心位置,能夠理解成焦點吧,測試

後三個參數表示頭頂的朝向,好比說頭能夠歪着(哈哈)。可是我測試過,若是歪的不對,原來的正前方如今已經不是正前方spa

了,那麼就看不見物體了。舉個例子:orm

gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);//這個就表示頭頂是朝着y方向it

gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0);//這個表示頭歪了45度,頭頂朝着(1.0,1.0,0.0)這個方向rust

2.glScalef() ——模型變換函數 縮放float

void glScalef(GLfloat  x,  GLfloat  y,  GLfloat  z);im

模型變換的目的是設置模型的位置和方向,例如能夠對模型進行旋轉、移動和縮放,或者聯合這幾種操做。margin

這個函數表示模型在各軸上是若是進行縮放的。舉個例子:top

glScalef (1.0, 2.0, 1.0);//表示y座標值擴大兩倍,這樣本來方的物體就變成長的了。

3.glTranslatef() ——模型變換函數 移動

void glTranslatef(GLfloat  x,  GLfloat  y,  GLfloat  z);

這個函數表示模型是怎樣移動的。舉個例子:

glTranslatef(-1.0,0.0,-2.0);//表示物體沿x負方向移動1.0,沿z軸負方向移動2.0。因此就好像能看見側面同樣

4.glRotatef()——模型變換函數  旋轉

void glRotatef(GLfloat  angle,  GLfloat  x,  GLfloat  y,  GLfloat  z);

angle表示旋轉的角度(注意單位不是弧度),(x,y,z)表示轉軸。舉個例子:

glRotatef(45.0, 0.0, 0.0, 1.0);//表示模型沿着(0,0,1)這個軸旋轉45°。

5.glFrustum() ——投影變換函數 透視投影

前四個參數表示裁剪範圍,後兩個參數(要求爲正數)表示近的面和遠的面離眼睛的距離。有點兒像調焦。裁剪完後拉伸鋪滿整個屏幕。

6.glPerspective() ——投影變換函數 透視投影

void gluPerspective(GLdouble  fovy,  GLdouble  aspect,  GLdouble  zNear,  GLdouble  zFar);

第一個參數表示在y方向上的視角度數。我的理解:好比45,表示眼睛和模型中心這個條線與y軸的夾角。

第二個參數表示縱橫比。x/y。好比2表示x、y原本都是1個長度,如今x能夠當兩個長度用,這樣,模型就好像被x方向壓縮了同樣。

後兩個參數glFrustum()中後兩個相近。要求都是正數。

相關文章
相關標籤/搜索