glMatrixMode

glMatrixMode

glMatrixMode是一個計算機函式,功能是指定哪一個矩陣是當前矩陣。創建一個投影矩陣並且與當前矩陣相乘,得到的矩陣設定為當前變換,但要先通過glMatrixMode設定成投影矩陣才會得到想要的投影矩陣變換。

基本介紹

  • 中文名:指定哪一個矩陣是當前矩陣
  • 外文名:glMatrixMode
  • 可選值:GL_MODELVIEW
  • 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_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);
則,投影矩陣位置不正確.

相關詞條

熱門詞條

聯絡我們