天天看點

OpenGL函數思考-glMatrixMode

OpenGL函數思考-glMatrixMode

 函數原型:

       void glMatrixMode(GLenum mode)

參數說明:

       mode 指定哪一個矩陣堆棧是下一個矩陣操作的目标,可選值: 

  GL_MODELVIEW,對模型視圖矩陣堆棧應用随後的矩陣操作。可以在執行此指令後,輸出自己的物體圖形了。

  GL_PROJECTION,對投影矩陣堆棧應用随後的矩陣操作。可以在執行此指令後,為我們的場景增加透視。

  GL_TEXTURE,對紋理矩陣堆棧應用随後的矩陣操作。可以在執行此指令後,為我們的圖形增加紋理貼圖。

      在每個矩陣模式下都有一個矩陣對陣,在GL_MODELVIEW模式中,堆棧深度至少為32;在GL_PROJECTION和GL_TEXTURE模式中,堆棧深度至少為2;在任何模式中,目前矩陣總是該模式下矩陣堆棧中的最頂層矩陣。

函數說明:

       glMatrixMode()指令将目前矩陣設定成參數所指定的模式,以滿足不同繪圖所需執行的矩陣變換。一般而言,在需要繪制出對象或要對所繪制對象進行幾何變換時,需要将變換矩陣設定成模型視圖模式;而當需要對繪制的對象設定某種投影方式時,則需要将變換矩陣設定成投影模式;隻有在進行紋理映射時,才需要将變換矩陣設定成紋理模式。

      與glLoadIdentity()一同使用,glLoadIdentity()功能是重置目前指定的矩陣為機關矩陣。