0

我在场景中渲染了一个三角形,但现在我添加了鼠标导航,似乎没有任何效果了。所以我再次删除了所有导航内容,看看我使用 gluLookAt() 有什么问题。但即使在一个非常简单的情况下,我也看不到任何东西:

void GLScene::paintGL() {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glLoadIdentity();


    //m_navigation.UpdateCamera();

    gluLookAt(0 ,0 ,20,
        0,0,-1,
        0, -1, 0 );

    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1,0,0);
    glBegin(GL_POLYGON);
    glVertex3f(0,0,0);
    glVertex3f(0,100,0);
    glVertex3f(100,0,0);
    glEnd();


}
4

1 回答 1

3

你搞砸了你的对象转换矩阵

正确的代码(未经测试)

void GLScene::paintGL() {
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();

   gluLookAt(0 ,0 ,20,
    0,0,-1,
    0, -1, 0 );

   glClear(GL_COLOR_BUFFER_BIT);
   glColor3f(1,0,0);
   glBegin(GL_POLYGON);
   glVertex3f(0,0,0);
   glVertex3f(0,100,0);
   glVertex3f(100,0,0);
   glEnd();
}
于 2013-06-26T00:06:37.540 回答