複製鏈接
請複製以下鏈接發送給好友

glMatrixMode

鎖定
glMatrixMode是一個計算機函數,功能是指定哪一個矩陣是當前矩陣。創建一個投影矩陣並且與當前矩陣相乘,得到的矩陣設定為當前變換,但要先通過glMatrixMode設定成投影矩陣才會得到想要的投影矩陣變換。
中文名
指定哪一個矩陣是當前矩陣
外文名
glMatrixMode
可選值
GL_MODELVIEW
glMatrixMode
設置當前矩陣模式:

目錄

glMatrixMode參數

mode 指定哪一個矩陣堆棧是下一個矩陣操作的目標,可選值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE.
説明
glMatrixMode設置當前矩陣模式:
GL_MODELVIEW,對模型視景矩陣堆棧應用隨後的矩陣操作.
GL_PROJECTION,對投影矩陣應用隨後的矩陣操作.
GL_TEXTURE,對紋理矩陣堆棧應用隨後的矩陣操作.
與glLoadIdentity()一同使用
glLoadIdentity():將當前的用户座標系的原點移到了屏幕中心:類似於一個復位操作
在glLoadIdentity()之後我們為場景設置了透視圖。glMatrixMode(GL_MODELVIEW)設置當前矩陣為模型視圖矩陣,模型視圖矩陣儲存了有關物體的信息。

glMatrixMode函數的使用

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