0

在我的程序中,我在屏幕上有一个矩形图形,我使用它更改了它的方向,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,任何正常的矩形都会被绘制出来。

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

4

1 回答 1

0

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

glLoadIdentity — 用单位矩阵替换当前矩阵

于 2013-01-17T18:39:51.997 回答