glEnable 函数

glEnable 和 glDisable函数启用或禁用 OpenGL 功能。

语法

void WINAPI glEnable(
   GLenum cap
);

参数

一个符号常量,指示 OpenGL 功能。

有关 值上限的讨论 ,请参阅以下"备注"部分。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL _ 无效 _ 枚举
cap 不是前面"备注"部分中列出的值之一。
GL _ 无效 _ 操作
函数是在对 glBegin 的调用与对 glEnd 的相应调用 之间调用的

备注

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

glEnable 和 glDisable 均采用单个参数 cap,它可以假定以下值之一:

含义
GL _ ALPHA _ 测试 如果启用,则执行 alpha 测试。 请参阅 glAlphaFunc
GL _ AUTO _ NORMAL 如果启用,则当 GL MAP2 顶点 3 或 GL MAP2 顶点 4 生成顶点时,以分析方式计算 _ _ 图面 _ _ _ _ 法向量。 请参阅 glMap2
GL _ BLEND 如果启用,将传入的 RGBA 颜色值与颜色缓冲区中的值混合。 请参阅 glBlendFunc
GL _ CLIP _ PLANE i 如果启用,则根据用户定义的剪辑平面 i 剪裁 几何图形。 请参阅 glClipPlane
GL _ 颜色 _ 逻辑 _ 操作 如果启用,则对传入的 RGBA 颜色和颜色缓冲区值应用当前逻辑操作。 请参阅 glLogicOp
GL _ 颜色 _ 材料 如果启用,请让一个或多个材料参数跟踪当前颜色。 请参阅 glColorMaterial
GL _ CULL _ 人脸 如果启用,则基于多边形在窗口坐标中的填充来剔除多边形。 请参阅 glCullFace
GL _ 深度 _ 测试 如果启用,则执行深度比较并更新深度缓冲区。 请参阅 glDepthFuncglDepthRange
GL _ DITHER 如果启用,则先将颜色组件或索引写入颜色缓冲区。
GL _ 一般 如果启用,将一种明了的颜色混合到后发色中。 请参阅 glFog
GL _ INDEX _ 逻辑 _ 操作 如果启用,则对传入索引和颜色缓冲区索引应用当前逻辑操作。 请参阅 glLogicOp
GL _ LIGHT i 如果启用,在照明公式的评估中包括 light i。 请参阅 glLightModelglLight
GL _ 照明 如果启用,请使用当前照明参数来计算顶点颜色或索引。 如果禁用,则将当前颜色或索引与每个顶点关联。 请参阅 glMaterial、glLightModelglLight
GL _ LINE _ SMOOTH 如果启用,请绘制具有正确筛选的线条。 如果禁用,请绘制别名线。 请参阅 glLineWidth
GL _ 行 _ STIPPLE 如果启用,则绘制线条时使用当前线条触笔模式。 请参阅 glLineStipple
GL _ 逻辑 _ 操作 如果启用,将当前选定的逻辑操作应用于传入索引和颜色缓冲区索引。 请参阅 glLogicOp
GL _ MAP1 _ 颜色 _ 4 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1的调用将生成 RGBA 值。 另请参阅 glMap1
GL _ MAP1 _ 索引 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1 的调用将生成颜色索引。 另请参阅 glMap1
GL _ MAP1 _ NORMAL 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1的调用将生成法线。 另请参阅 glMap1
GL _ MAP1 _ 纹理 _ COORD _ 1 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1 的调用将 生成纹理 坐标。 另请参阅 glMap1
GL _ MAP1 _ 纹理 _ COORD _ 2 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1的调用将生成 st 纹理坐标。 另请参阅 glMap1
GL _ MAP1 _ 纹理 _ COORD _ 3 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1 的调用将生成 s、tr 纹理坐标。 另请参阅 glMap1
GL _ MAP1 _ 纹理 _ COORD _ 4 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1的调用将生成 s 、t、rq 纹理坐标。 另请参阅 glMap1
GL _ MAP1 _ 顶点 _ 3 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1 的调用将生成 x、yz 顶点坐标。 另请参阅 glMap1
GL _ MAP1 _ 顶点 _ 4 如果启用,对 glEvalCoord1、glEvalMesh1glEvalPoint1的调用将生成同类 x、y、z 和 w 顶点坐标。 另请参阅 glMap1
GL _ MAP2 _ COLOR _ 4 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2的调用将生成 RGBA 值。 另请参阅 glMap2
GL _ MAP2 _ INDEX 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2 的调用 将生成 颜色索引。 另请参阅 glMap2
GL _ MAP2 _ NORMAL 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2的调用将生成法线。 另请参阅 glMap2
GL _ MAP2 _ 纹理 _ COORD _ 1 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2 的调用将 生成纹理 坐标。 另请参阅 glMap2
GL _ MAP2 _ 纹理 _ COORD _ 2 如果启用,则对 glEvalCoord2、glEvalMesh2glEvalPoint2的调用将生成 st 纹理坐标。 另请参阅 glMap2
GL _ MAP2 _ 纹理 _ COORD _ 3 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2 的调用将生成 s 、tr 纹理坐标。 另请参阅 glMap2
GL _ MAP2 _ 纹理 _ COORD _ 4 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2的调用将生成 s 、t、rq 纹理坐标。 另请参阅 glMap2
GL _ MAP2 _ 顶点 _ 3 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2 的调用将生成 x、yz 顶点坐标。 另请参阅 glMap2
GL _ MAP2 _ 顶点 _ 4 如果启用,对 glEvalCoord2、glEvalMesh2glEvalPoint2的调用将生成同类 x、y、z 和 w 顶点坐标。 另请参阅 glMap2
GL _ NORMALIZE 如果启用,使用 glNormal 指定的法线向量在转换后将缩放为单位长度。 请参阅 glNormal
GL _ 点 _ 平滑 如果启用,则使用适当的筛选来绘制点。 如果禁用,则绘制别名点。 请参阅 glPointSize
GL _ POLYGON _ 偏移 _ 填充 如果启用,并且多边形在 GL FILL 模式下呈现,则先向多边形片段的深度值添加偏移量,然后再 _ 执行深度比较。 请参阅 glPolygonOffset
GL _ POLYGON _ 偏移 _ 线 如果启用,并且多边形在 GL LINE 模式下呈现,则先向多边形片段的深度值添加偏移量,然后再 _ 执行深度比较。 请参阅 glPolygonOffset
GL _ POLYGON _ 偏移 _ 点 如果启用,则当多边形以 GL POINT 模式呈现时,先将偏移量添加到多边形片段的深度值,然后再执行深度 _ 比较。 请参阅 glPolygonOffset
GL _ POLYGON _ 平滑 如果启用,则使用适当的筛选绘制多边形。 如果禁用,则绘制别名多边形。 请参阅 glPolygonMode
GL _ POLYGON _ STIPPLE 如果启用,则呈现多边形时使用当前多边形触笔模式。 请参阅 glPolygonStipple
GL _ SCISSOR _ 测试 如果启用,则丢弃切边矩形外部的片段。 请参阅 glScissor
GL _ STENCIL _ 测试 如果启用,请执行模具测试并更新模具缓冲区。 请参阅 glStencilFuncglStencilOp
GL _ 纹理 _ 1D 如果启用,则执行一维 (,除非还启用了二维文本) 。 请参阅 glTexImage1D
GL _ 纹理 _ 2D 如果启用,则执行二维文本化。 请参阅 glTexImage2D
GL _ 纹理 _ GEN _ Q 如果启用, 则使用 使用 glTexGen定义的纹理生成函数计算 q 纹理坐标。 否则,使用当前的 q 纹理坐标。
GL _ 纹理 _ GEN _ R 如果启用, 则使用 使用 glTexGen 定义的纹理生成函数计算 r 纹理坐标。 如果禁用,则使用当前 r 纹理坐标。
GL _ 纹理 _ GEN _ S 如果启用, 则使用 使用 glTexGen 定义的纹理生成函数计算纹理坐标。 如果禁用,则 使用当前 纹理坐标。
GL _ 纹理 _ 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