4.3 矩陣堆棧

1、使用GLMatrixStack 定義,默認深度為64。

GLMatrixStack::GLMatrixStack(int iStackDepth = 64);

2、棧頂添加矩陣

????2.1、單元矩陣

? ???void GLMatrixStack::LoadIdentity(void);

? ? 2.2、任意矩陣

? ??????//參數:4*4矩陣

? ? ? void GLMatrixStack::LoadMatrix(const M3DMatrix44f m);

3、獲取當前矩陣(當前矩陣:位于棧頂的矩陣

? ? ?const M3DMatrix44f & GLMatrixStack::GetMatrix(void);

? ? ? void GLMatrixStack::GetMatrix(M3DMatrix44f mMatrix);

4、矩陣相乘

//矩陣乘以矩陣堆棧頂部矩陣,相乘結果存儲到堆棧的頂部,相乘結果會取代堆棧的當前矩陣

void GLMatrixStack::MultMatrix(const M3DMatrix44f);

5、壓棧、出棧

?壓棧:存儲一個狀態(tài)?

????????//將當前矩陣壓入堆棧棧頂

????????????void GLMatrixStack::PushMatrix(void);

????????//將M3DMatrix44f?矩陣對象壓?當前矩陣堆棧棧頂

????????????void PushMatrix(const M3DMatrix44f mMatrix);

????????//將GLFame?對象壓?入矩陣對象?

????????????void PushMatrix(GLFame &frame);

出棧:?恢復一個狀態(tài)

//移除頂部的矩陣對象

void GLMatrixStack::PopMatrix(void);

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,251評論 0 38
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,665評論 1 32
  • Java byte code 的學習意義 為啥要學java bytecode,這就跟你問我已經會python了為...
    shanggl閱讀 1,864評論 0 3
  • 抗鋸齒 混合的2 功能:顏 組合、抗鋸 混合處理-抗鋸齒 //開啟混合處 glEnable(GL_BLEND); ...
    泥孩兒0107閱讀 764評論 0 0
  • 愛只會導致好的結果,而不會導致傷害,導致傷害的一定不是真愛。 溺愛中長大的人容易有一個連環(huán)反應:一是挫折商低,一旦...
    根本源閱讀 255評論 0 0

友情鏈接更多精彩內容