2013-06-25 188 views
0

我在场景中渲染了一个三角形,但现在我添加了鼠标导航,似乎没有任何工作了。所以我又删除了所有导航内容,看看我使用gluLookAt()时出了什么问题。但即使是在非常简单的情况下,我没有看到任何东西: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(); 


} 
+0

你搞砸了你的投影和对象变换矩阵 – Quonux

回答

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(); 
}