glEnable 函数

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

语法

void WINAPI glEnable(
   GLenum cap
);

参数

指示 OpenGL 功能的符号常量。

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

返回值

此函数不返回值。

错误代码

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

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

注解

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

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

含义
GL_ALPHA_TEST 如果启用,请执行 alpha 测试。 请参阅 glAlphaFunc
GL_AUTO_NORMAL 如果启用,则当GL_MAP2_VERTEX_3或GL_MAP2_VERTEX_4生成顶点时,以分析方式计算图面法向量。 请参阅 glMap2
GL_BLEND 如果启用,将传入的 RGBA 颜色值与颜色缓冲区中的值混合。 请参阅 glBlendFunc
GL_CLIP_PLANE i 如果已启用,则针对用户定义的剪辑平面 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_LIGHT i 如果启用,请在照明公式的评估中包含光 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 如果启用,则调用 glEvalCoord1、glEvalMesh1glEvalPoint1 生成 strq 纹理坐标。 另请参阅 glMap1
GL_MAP1_VERTEX_3 如果启用,则调用 glEvalCoord1、glEvalMesh1glEvalPoint1 生成 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