glShadeModel 函数

glShadeModel 函数选择平底或平滑着色。

语法

void WINAPI glShadeModel(
   GLenum mode
);

参数

mode

表示着色技术的符号值。 接受的值是GL_FLAT和GL_SMOOTH。 默认值为 GL_SMOOTH。

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_ENUM
mode 是除 GL_GLAT 或 GL_SMOOTH 以外的值。
GL_INVALID_OPERATION
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。

备注

OpenGL 基元可以具有平面着色或平滑着色。 平滑着色(默认值)会导致在基元光栅化时内插顶点的计算颜色,通常为每个生成的像素片段分配不同的颜色。 平面着色仅选择一个顶点的计算颜色,并将其分配给通过光栅化单个基元生成的所有像素片段。 在任一情况下,如果启用照明,则顶点的计算颜色是照明的结果;如果禁用照明,则为指定顶点时的当前颜色。

平底纹和平滑底纹对于点是无法区分的。 从一个顶点和基元计数,从发出 glBegin 时开始,每个平底线段 i 都得到顶点 i + 1(其第二个顶点)的计算颜色。 以类似的方式从一个多边形计数,每个平面阴影多边形都给定下表中列出的顶点的计算颜色。 这是在除单个多边形之外的所有情况下指定多边形的最后一个顶点,其中第一个顶点指定平面着色颜色。

多边形 i 的基元类型 顶点
单个多边形 (I=1) 1
三角形带 i + 2
三角形风扇 i + 2
独立三角形 3I
象限带 2i + 2
独立象限 4I

平面着色和平滑着色由 glShadeModel 指定, 模式 分别设置为GL_FLAT和GL_SMOOTH。

以下函数检索 与 glShadeModel 相关的信息:

带参数GL_SHADE_MODEL的 glGet

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glColor

glEnd

glLight

glLightModel