颜色渲染主要使用glColor3f()语句,设置好颜色后,以后所使用的所有绘图语句都将以当前设置的颜色进行绘图,如设置为红色,调用语句glColor(1.0f,0.0f,1.0f);再次调用glVertex3f()语句时所绘制的点都将是红色。
如绘制三种颜色混合的三角形和纯红色的四边形的DrawGLScene()代码:
int DrawGLScene(GLvoid)
{
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);//左下点
glVertex3f(0.0f, 0.0f, 1.0f);//设置当前颜色为蓝色
glVertex3f(1.0f, -1.0f, 0.0f);//右下点
glEnd();
glColor3f(0.0f, 0.0f, 1.0f);//设置当前颜色为蓝色
glBegin(GL_QUADS);//绘制正方形
//左上角开始,顺时针方向用glVertex3f绘制四个顶点
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();
return TRUE;
}