openGL指定着色模式

来源:互联网 发布:yy淘宝互刷平台 编辑:程序博客网 时间:2024/05/18 02:16
#include <math.h>const GLdouble Pi = 3.1415926536;void myDisplay(void){int i;// glShadeM odel(GL_FLAT);glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLE_FAN);glColor3f(1.0f, 1.0f, 1.0f);glVertex2f(0.0f, 0.0f);for(i=0; i<=8; ++i){glColor3f(i&0x04, i&0x02, i&0x01);glVertex2f(cos(i*Pi/4), sin(i*Pi/4));}glEnd();glFlush();}

在默认情况下,OpenGL 会计算两点顶点之间的其它点,并为它们填上“合适”的颜色,使相邻的点的颜色值
都比较接近。如果使用的是 RGB 模式,看起来就具有渐变的效果。如果是使用颜色索引模式,则其相邻点
的索引值是接近的,如果将颜色表中接近的项设置成接近的颜色,则看起来也是渐变的效果。但如果颜色
表中接近的项颜色却差距很大,则看起来可能是很奇怪的效果。
使用 glShadeM odel 函数可以关闭这种计算,如果顶点的颜色不同,则将顶点之间的其它点全部设置为与某
一个点相同。(直线以后指定的点的颜色为准,而多边形将以任意顶点的颜色为准,由实现决定。)为了避
免这个不确定性,尽量在多边形中使用同一种颜色。
glShadeM odel 的使用方法:
glShadeM odel(GL_SM OOTH); // 平滑方式,这也是默认方式
glShadeM odel(GL_FLAT);
// 单色方式
小结:
本课学习了如何设置颜色。其中 RGB 颜色方式是目前 PC 机上的常用方式。
可以设置 glClear 清除后屏幕所剩的颜色。

可以设置颜色填充方式:平滑方式或单色方式。

一、当glShadeModel(GL_SMOOTH)


二、当glShadeModel(GL_FLAT)时


0 0
原创粉丝点击