glEnable 函数

glEnableglDisable 函数启用或禁用 OpenGL 功能。

语法

void WINAPI glEnable(
   GLenum cap
);

参数

指示 OpenGL 功能的符号常量。

有关可以采用的值 上限 的讨论,请参阅以下“备注”部分。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_INVALID_ENUM
cap 不是上述“备注”部分中列出的值之一。
GL_INVALID_OPERATION
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。

备注

glEnableglDisable 函数启用和禁用各种 OpenGL 图形功能。 使用 glIsEnabledglGet 确定任何功能的当前设置。

glEnableglDisable 都采用单个参数 cap,这可以假定以下值之一:

含义
GL_ALPHA_TEST 如果启用,请执行 alpha 测试。 请参阅 glAlphaFunc
GL_AUTO_NORMAL 如果启用,则当GL_MAP2_VERTEX_3或GL_MAP2_VERTEX_4生成顶点时,以分析方式计算表面法向量。 请参阅 glMap2
GL_BLEND 如果启用,请将传入的 RGBA 颜色值与颜色缓冲区中的值混合。 请参阅 glBlendFunc
GL_CLIP_PLANEi 如果启用,则根据用户定义的剪裁平面 i 剪裁几何图形。 请参阅 glClipPlane
GL_COLOR_LOGIC_OP 如果启用,请将当前逻辑操作应用于传入的 RGBA 颜色和颜色缓冲区值。 请参阅 glLogicOp
GL_COLOR_MATERIAL 如果启用,请让一个或多个材料参数跟踪当前颜色。 请参阅 glColorMaterial
GL_CULL_FACE 如果启用,则根据多边形在窗口坐标中的缠绕来剔除多边形。 请参阅 glCullFace
GL_DEPTH_TEST 如果启用,请执行深度比较并更新深度缓冲区。 请参阅 glDepthFuncglDepthRange
GL_DITHER 如果启用,请在将颜色组件或索引写入颜色缓冲区之前进行颜色分色。
GL_FOG 如果启用,请将雾色混合到后纹理颜色中。 请参阅 glFog
GL_INDEX_LOGIC_OP 如果启用,请将当前逻辑操作应用于传入索引和颜色缓冲区索引。 请参阅 glLogicOp
GL_LIGHTi 如果启用,请在照明公式的计算中包含光 i 。 请参阅 glLightModelglLight
GL_LIGHTING 如果启用,请使用当前照明参数来计算顶点颜色或索引。 如果禁用,请将当前颜色或索引与每个顶点相关联。 请参阅 glMaterialglLightModelglLight
GL_LINE_SMOOTH 如果启用,请使用正确的筛选绘制线条。 如果禁用,则绘制别名线。 请参阅 glLineWidth
GL_LINE_STIPPLE 如果启用,请在绘制线条时使用当前线条点阵模式。 请参阅 glLineStipple
GL_LOGIC_OP 如果启用,请将当前选择的逻辑操作应用于传入索引和颜色缓冲区索引。 请参阅 glLogicOp
GL_MAP1_COLOR_4 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 会生成 RGBA 值。 另请参阅 glMap1
GL_MAP1_INDEX 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 将生成颜色索引。 另请参阅 glMap1
GL_MAP1_NORMAL 如果启用,对 glEvalCoord1glEvalMesh1glEvalPoint1 的调用将生成法线。 另请参阅 glMap1
GL_MAP1_TEXTURE_COORD_1 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 会生成 纹理 坐标。 另请参阅 glMap1
GL_MAP1_TEXTURE_COORD_2 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 将生成 st 纹理坐标。 另请参阅 glMap1
GL_MAP1_TEXTURE_COORD_3 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 会生成 str 纹理坐标。 另请参阅 glMap1
GL_MAP1_TEXTURE_COORD_4 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 会生成 strq 纹理坐标。 另请参阅 glMap1
GL_MAP1_VERTEX_3 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 会生成 xyz 顶点坐标。 另请参阅 glMap1
GL_MAP1_VERTEX_4 如果启用,调用 glEvalCoord1glEvalMesh1glEvalPoint1 会生成同质 xyzw 顶点坐标。 另请参阅 glMap1
GL_MAP2_COLOR_4 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 会生成 RGBA 值。 另请参阅 glMap2
GL_MAP2_INDEX 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 将生成颜色索引。 另请参阅 glMap2
GL_MAP2_NORMAL 如果启用,对 glEvalCoord2glEvalMesh2glEvalPoint2 的调用将生成法线。 另请参阅 glMap2
GL_MAP2_TEXTURE_COORD_1 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 会生成 纹理 坐标。 另请参阅 glMap2
GL_MAP2_TEXTURE_COORD_2 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 将生成 st 纹理坐标。 另请参阅 glMap2
GL_MAP2_TEXTURE_COORD_3 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 会生成 str 纹理坐标。 另请参阅 glMap2
GL_MAP2_TEXTURE_COORD_4 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 会生成 strq 纹理坐标。 另请参阅 glMap2
GL_MAP2_VERTEX_3 如果启用,调用 glEvalCoord2glEvalMesh2glEvalPoint2 会生成 xyz 顶点坐标。 另请参阅 glMap2
GL_MAP2_VERTEX_4 如果启用,则调用 glEvalCoord2glEvalMesh2glEvalPoint2 将生成同质 xyzw 顶点坐标。 另请参阅 glMap2
GL_NORMALIZE 如果启用,则使用 glNormal 指定的法向量在转换后缩放为单位长度。 见 glNormal
GL_POINT_SMOOTH 如果启用,则使用正确筛选绘制点。 如果禁用,则绘制别名点。 请参阅 glPointSize
GL_POLYGON_OFFSET_FILL 如果启用,并且多边形在GL_FILL模式下呈现,则会在执行深度比较之前向多边形片段的深度值添加偏移量。 请参阅 glPolygonOffset
GL_POLYGON_OFFSET_LINE 如果启用,并且多边形以GL_LINE模式呈现,则会在执行深度比较之前向多边形片段的深度值添加偏移量。 请参阅 glPolygonOffset
GL_POLYGON_OFFSET_POINT 如果启用,如果在GL_POINT模式下呈现多边形,则会在执行深度比较之前将偏移量添加到多边形片段的深度值。 请参阅 glPolygonOffset
GL_POLYGON_SMOOTH 如果启用,则绘制具有适当筛选的多边形。 如果禁用,则绘制别名多边形。 请参阅 glPolygonMode
GL_POLYGON_STIPPLE 如果启用,则呈现多边形时使用当前多边形样式。 请参阅 glPolygonStipple
GL_SCISSOR_TEST 如果启用,请丢弃剪刀矩形外部的片段。 请参阅 glScissor
GL_STENCIL_TEST 如果启用,请执行模具测试并更新模具缓冲区。 请参阅 glStencilFuncglStencilOp
GL_TEXTURE_1D 如果启用,则 (执行一维纹理,除非) 也启用了二维纹理。 请参阅 glTexImage1D
GL_TEXTURE_2D 如果启用,则执行二维纹理。 请参阅 glTexImage2D
GL_TEXTURE_GEN_Q 如果启用,则使用 glTexGen 定义的纹理生成函数计算 q 纹理坐标。 否则,使用当前 q 纹理坐标。
GL_TEXTURE_GEN_R 如果启用,则使用 glTexGen 定义的纹理生成函数计算 r 纹理坐标。 如果禁用,则使用当前 r 纹理坐标。
GL_TEXTURE_GEN_S 如果启用,则使用 glTexGen 定义的纹理生成函数计算纹理坐标。 如果禁用,则使用当前 纹理 坐标。
GL_TEXTURE_GEN_T 如果启用,则使用 glTexGen 定义的纹理生成函数计算 t 纹理坐标。 如果禁用,则使用当前 t 纹理坐标。

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glAlphaFunc

glArrayElement

glBegin

glBlendFunc

glClipPlane

glColorMaterial

glColorPointer

glCullFace

glDepthFunc

glDepthRange

glDisable

glDrawArrays

glEdgeFlagPointer

glEnd

glEvalCoord1

glEvalMesh1

glEvalPoint1

glFog

glGet

glIndexPointer

glIsEnabled

glLight

glLightModel

glLineWidth

glLineStipple

glLogicOp

glMap1

glMap2

glMaterial

glNormal

glNormalPointer

glPointSize

glPolygonMode

glPolygonStipple

glScissor

glStencilFunc

glStencilOp

glTexCoordPointer

glTexGen

glTexImage1D

glTexImage2D