glShadeModel

设置着色模式

着色模式(glShadeModel)实际上是解决实心图形内部空间颜色填充的问题。默认情况下OpenGL是采用渐变着色模式(采用GL_SMOOTH进行设置),若线段的两个端点颜色设置不同,在GL_SMOOTH模式下,线段中间的颜色在两端点之间进行平稳过渡。启用渐变着色模式采用下面的命令:glShadeModel(GL_SMOOTH)。当然我们也可以采用数学方法,完全按照自己的意愿进行颜色渐变。

与之相对的是单颜色着色模式(采用GL_FLAT进行设置)。在这种模式下,图形内部颜色填充采用的是最后一个顶点的颜色。启用单颜色着色模式采用命令:glShadeModel(GL_FLAT)。但是若所有的顶点颜色相同,GL_SMOOTH、GL_FLAT两种模式产生的效果是没有任何差别的。

 

两种着色模式:平滑着色与单调着色:

(1)平滑着色:glShadeModel(GL_SMOOTH)平滑着色可以实现一种颜色到另一种颜色的平滑渐变。

(2)单调着色:glShadeModel(GL_FLAT)单调着色即GL_FLAT,单调着色表示图元在内部不进行计算。一般而言,使用单调着色,图元的内部颜色就是最后一个项点所指定的颜色。唯一例外的是GL_POLYGON( 多边形 )图元,它的内部颜色是第一个顶点的颜色。

你可能感兴趣的:(glShadeModel)