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

作者: zongshi (SPIDEY)   2014-10-17 12:28:09
開發平台(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();
\\\\畫圖\\\
}

Links booklink

Contact Us: admin [ a t ] ucptt.com