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