openGL渲染glulookat

时间:2013-06-25 23:58:21

标签: opengl

我在场景中渲染了一个三角形,但现在我正在添加鼠标导航,似乎没有什么工作了。所以我再次删除了所有的导航内容,看看我使用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();


}

1 个答案:

答案 0 :(得分: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();
}