作业帮 > 综合 > 作业

Opengl平滑着色问题 :我用Qt+Opengl(QWidget类),希望能够画一个平滑着色的三角形,但画出来是同一个

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/23 02:55:32
Opengl平滑着色问题 :我用Qt+Opengl(QWidget类),希望能够画一个平滑着色的三角形,但画出来是同一个颜
glClearColor(0,0.5,1,1);
glColor3f(0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glShadeModel(GL_FLAT);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glDepthFunc(GL_LEQUAL);
glHint( GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST );
void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕及深度缓存
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( 0.0f,1.0f,0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f,0.0f);
glColor3f(0.0f,0.0f,1.0f); // 设置当前色为蓝色
glVertex3f( 1.0f,-1.0f,0.0f); // 右下
glEnd(); // 三角形绘制结束
glTranslatef(3.0f,0.0f,0.0f); // 右移3单位
glColor3f(0.5f,0.5f,1.0f); // 一次性将当前色设置为蓝色
}
但画出来的是蓝色的三角形,而不是彩色的~
我人为是initialize方法不对,单我该怎样改呢?
如果有人知道我会加满分~
Opengl平滑着色问题 :我用Qt+Opengl(QWidget类),希望能够画一个平滑着色的三角形,但画出来是同一个
在glBegin(GL_TRIANGLES);之前加一句:glShadeModel(GL_SMOOTH);就可以了.
glShadeModel(GL_FLAT);这一句不要了.
有什么问题可以给我留言.