glMatrixMode

glMatrixMode

glMatrixMode是一個計算機函數,功能是指定哪一個矩陣是當前矩陣。

參數


mode指定哪一個矩陣堆棧是下一個矩陣操作的目標,可選值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE。
說明
glMatrixMode設置當前矩陣模式:
GL_MODELVIEW,對模型視景矩陣堆棧應用隨後的矩陣操作.
GL_PROJECTION,對投影矩陣應用隨後的矩陣操作.
GL_TEXTURE,對紋理矩陣堆棧應用隨後的矩陣操作.
與glLoadIdentity()一同使用
glLoadIdentity():該函數的功能是重置當前指定的矩陣為單位矩陣
在glLoadIdentity()之後我們為場景設置了透視圖。glMatrixMode(GL_MODELVIEW)設置當前矩陣為模型視圖矩陣,模型視圖矩陣儲存了有關物體的信息。

glMatrixMode與gluPerspective函數的使用


GL_MODELVIEW 是模型矩陣 GL_PROJECTION 是投影矩陣。 gluPerspective的是創建一個投影矩陣並且與當前矩陣相乘,得到的矩陣設定為當前變換,但要先通過glMatrixMode設定成投影矩陣才會得到想要的投影矩陣變換。
例如:
glMatrixMode(GL_MODELVIEW);
可以出來結果,反之,換位置后;
glMatrixMode(GL_MODELVIEW);
gluPerspective(45.0f,(GLfloat)cx/(GLfloat)cy,0.1f,100.0f);
則,投影矩陣位置不正確.