在我的程序中,我在屏幕上有一个矩形图形,我使用gluLookAt
更改了方向,并始终一直看着窗口的中心。
在应用程序中连续调用的draw
函数中,我在程序中有一些状态。
draw function
{
//if condition 1
gluLookAt(0,0,0); //look At the origin of the window.
//if condition 2
glTranslatef(20, 10, 10);//go to some point and STOP looking At 0,0,0
//if condition 3
glTranslatef(point);
glRotatef()
glTranslate(-point)
}
第一个if condition
的代码运行良好,并且数字保持正确地朝向原点。当我在我的应用程序中更改第二个if condition
的标志变为真时,我得到翻译,但我的形状仍然继续查看原点。
我怎么做这个停止?我希望形状是直的,因为在没有lookAt的情况下绘制任何普通矩形。
这里的数字不一定是矩形。它也可能是其他形状
答案 0 :(得分:0)
通过调用glLoadIdentity
初始化矩阵(即在if condition
调用之前的第二个glTranslatef
)。
见http://www.opengl.org/sdk/docs/man2/xhtml/glLoadIdentity.xml
glLoadIdentity - 用身份矩阵
替换当前矩阵