这篇的主要内容是上一篇中的三角形和四边形分别添加上颜色。
在OpenGL中,设置当前绘制颜色是非常简单的,只需要调用glColor3f(R,G,B),其中三个参数都是0.0~1.0之间的浮点数,分别表示颜色的红,绿,蓝成分。
好了,我们重新写display函数如下:
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //
glLoadIdentity();
glTranslatef(-1.5f, 0.0f, -6.0f);// 三角形和四边形为了看起来小一点,在Z轴上做了6个单位的平移
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);
// or
// glLoadIdentity();
// glTranslatef(1.5f, 0.0f, -6.0f);
glBegin(GL_QUADS); //开始画四边形
glColor3f(0.5f,0.5f,1.0f);//设置当前颜色成紫蓝色
glVertex3f(-1.0f, 1.0f, 0.0f);//坐上顶点
glVertex3f(-1.0f, -1.0f, 0.0f);//左下顶点
glVertex3f( 1.0f, -1.0f, 0.0f);//右下顶点
glVertex3f( 1.0f, 1.0f, 0.0f);//右上顶点
glEnd();//结束画四边形
glFlush();
}
运行程序结果如下图所示: