清除lookAt为一个数字

时间:2013-01-17 18:32:12

标签: c++ algorithm opengl 3d

在我的程序中,我在屏幕上有一个矩形图形,我使用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的情况下绘制任何普通矩形。

这里的数字不一定是矩形。它也可能是其他形状

1 个答案:

答案 0 :(得分:0)

通过调用glLoadIdentity初始化矩阵(即在if condition调用之前的第二个glTranslatef)。 见http://www.opengl.org/sdk/docs/man2/xhtml/glLoadIdentity.xml

  

glLoadIdentity - 用身份矩阵

替换当前矩阵