glPolygonMode 函数

glPolygonMode 函数选择多边形光栅化模式。

语法

void WINAPI glPolygonMode(
   GLenum face,
   GLenum mode
);

parameters

模式适用的多边形。 必须为正面多边形GL_FRONT、面向背面多边形的GL_BACK,或GL_FRONT_AND_BACK正面多边形和后向多边形。

mode

多边形的光栅化方式。 定义了以下模式,可以在 模式下指定。 对于正面多边形和后向多边形,默认值为GL_FILL。

含义
GL_POINT
标记为边界边缘起点的多边形顶点绘制为点。 点属性,如GL_POINT_SIZE和GL_POINT_SMOOTH控制点的光栅化。 除GL_POLYGON_MODE以外的多边形光栅化属性不起作用。
GL_LINE
多边形的边界边缘绘制为线段。 它们被视为线段的连接线段,用于线插入;行存计数器和模式不会在段之间重置, (请参阅 glLineStipple) 。 GL_LINE_WIDTH和GL_LINE_SMOOTH等线条属性控制线条的光栅化。 除GL_POLYGON_MODE以外的多边形光栅化属性不起作用。
GL_FILL
多边形的内部已填充。 多边形属性(如GL_POLYGON_STIPPLE和GL_POLYGON_SMOOTH)控制多边形的光栅化。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_INVALID_ENUM
人脸模式不是接受的值。
GL_INVALID_OPERATION
在对 glBegin 的调用和 对 glEnd 的相应调用之间调用了该函数。

注解

glPolygonMode 函数控制光栅化多边形的解释。 人脸参数描述哪些多边形模式适用于:正面多边形 (GL_FRONT) 、背向多边形 (GL_BACK) 或两者 (GL_FRONT_AND_BACK) 。 多边形模式仅影响多边形的最终光栅化。 具体而言,多边形的顶点被点亮,多边形被剪裁,并可能在应用这些模式之前被剔除。

若要绘制具有填充的背面多边形和轮廓正面多边形的图面,请调用

glPolygonMode (GL_FRONT,GL_LINE) ;

顶点标记为边界或具有边缘标志的非边界。 当 Edge 标志分解多边形时,OpenGL 会在内部生成边缘标志,并且可以使用 glEdgeFlag 显式设置它们。

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

带参数的 glGet GL_POLYGON_MODE

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glEdgeFlag

glEnd

glLineStipple

glLineWidth

glPointSize

glPolygonStipple