[問題] OpenGL的內部矩陣Stack要怎麼反向排列?

看板C_and_CPP (C/C++)作者 (SPIDEY)時間11年前 (2014/10/17 12:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenGL 問題(Question): 在GL的display function裡 用glPopMatrix、glPushMatrix來儲存和叫出上次的旋轉矩陣 但是新放進去的glRotatef(...)會在Stack最上面 最後對圖形的變換會隨座標軸改變而改變 假設[R1]~[Rn]代表最初和最後的glRotatef矩陣,[圖]代表圖形座標 則出來的結果會是 [R1]*[R2]*...*[Rn]*[圖] 但是我想要的結果是 [Rn]*[Rn-1]*...*[R1]*[圖] 該怎麼做才能得到我要的結果? 以下是我目前的display function的 Code { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0,0,dist,0,0,0,0,1,0); glPopMatrix(); glRotatef(theta,axis_x, axis_y, 0.0); glPushMatrix(); \\\\畫圖\\\ } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.214.196 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1413520092.A.1A9.html
文章代碼(AID): #1KG9hS6f (C_and_CPP)
文章代碼(AID): #1KG9hS6f (C_and_CPP)