glEnable是 OpenGl 函数。用于启用各种功能。具体功能由参数决定。与glDisable相对应。glDisable用以关闭各项功能。
void glEnable(GLenum cap);
GLenum 说明参数应为
unsigned int 类型
使用glIsEnabled或者glGet来确定当前各项功能的开启情况。
类型
|
值
|
说明
|
GL_ALPHA_TEST
|
4864
|
根据函数glAlphaFunc的条件要求来决定图形透明的层度是否显示。具体参见glAlphaFunc
|
GL_AUTO_NORMAL
|
3456
|
执行后,图形能把光反射到各个方向
|
GL_BLEND
|
3042
|
启用
颜色混合。例如实现半透明效果
|
GL_CLIP_PLANE0 ~ GL_CLIP_PLANE5
|
12288 ~ 12283
|
根据函数glClipPlane的条件要求
启用图形切割管道。这里指六种缓存管道 |
GL_COLOR_LOGIC_OP
|
3058
|
启用每一像素的色彩为位
逻辑运算
|
GL_COLOR_MATERIAL
|
2930
|
执行后,图形(材料)将根据光线的照耀进行反射。
反射要求由函数 glColorMaterial进行设定。 |
GL_CULL_FACE
|
2884
|
根据函数
glCullFace要求启用隐藏图形材料的面。
|
GL_DEPTH_TEST
|
2929
|
启用深度测试。
根据坐标的远近自动隐藏被遮住的图形(材料) |
GL_DITHER
|
3024
|
启用抖动
|
GL_FOG
|
2912
|
雾化效果
例如距离越远越模糊 |
GL_INDEX_LOGIC_OP
|
3057
|
逻辑操作
|
GL_LIGHT0 ~ GL_LIGHT7
|
16384 ~ 16391
|
启用0号灯到7号灯(光源)
光源要求由函数glLight函数来完成 |
GL_LIGHTING
|
2896
|
启用灯源
|
GL_LINE_SMOOTH
|
2848
|
执行后,过虑线段的锯齿
|
GL_LINE_STIPPLE
|
2852
|
执行后,画虚线
|
GL_LOGIC_OP
|
3057
|
逻辑操作
|
GL_MAP1_COLOR_4
|
3472
| |
GL_MAP1_INDEX
|
3473
|
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1 生成颜色索引曲线 |
GL_MAP1_NORMAL
|
3474
| |
GL_MAP1_TEXTURE_COORD_1
|
3475
|
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1 生成文理坐标 |
GL_MAP1_TEXTURE_COORD_2
|
3476
|
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1 生成文理坐标 |
GL_MAP1_TEXTURE_COORD_3
|
3477
|
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1 生成文理坐标 |
GL_MAP1_TEXTURE_COORD_4
|
3478
|
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1 生成文理坐标 |
GL_MAP1_VERTEX_3
|
3479
|
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1 在三维空间里生成曲线 |
GL_MAP1_VERTEX_4
|
3480
| |
GL_MAP2_COLOR_4
|
3504
| |
GL_MAP2_INDEX
|
3505
|
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2 生成颜色索引 |
GL_MAP2_NORMAL
|
3506
| |
GL_MAP2_TEXTURE_COORD_1
|
3507
|
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2 生成纹理坐标 |
GL_MAP2_TEXTURE_COORD_2
|
3508
|
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2 生成纹理坐标 |
GL_MAP2_TEXTURE_COORD_3
|
3509
|
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2 生成纹理坐标 |
GL_MAP2_TEXTURE_COORD_4
|
3510
|
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2 生成纹理坐标 |
GL_MAP2_VERTEX_3
|
3511
|
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2 在三维空间里生成曲线 |
GL_MAP2_VERTEX_4
|
3512
| |
GL_NORMALIZE
|
2977
|
根据函数glNormal的设置条件,启用
法向量
|
GL_POINT_SMOOTH
|
2832
|
执行后,过虑线点的锯齿
|
GL_POLYGON_OFFSET_FILL
|
32823
|
根据函数glPolygonOffset的设置,启用面的深度偏移
|
GL_POLYGON_OFFSET_LINE
|
10754
|
根据函数glPolygonOffset的设置,启用线的深度偏移
|
GL_POLYGON_OFFSET_POINT
|
10753
|
根据函数glPolygonOffset的设置,启用点的深度偏移
|
GL_POLYGON_SMOOTH
|
2881
|
过虑图形(多边形)的锯齿
|
GL_POLYGON_STIPPLE
|
2882
|
执行后,多边形为矢量画图
|
GL_SCISSOR_TEST
|
3089
|
根据函数glScissor设置,启用图形剪切
|
GL_STENCIL_TEST
|
2960
| |
GL_TEXTURE_1D
|
3552
|
启用一维文理
|
GL_TEXTURE_2D
|
3553
|
启用二维文理
|
GL_TEXTURE_GEN_Q
|
3171
|
根据函数glTexGen,启用纹理处理
|
GL_TEXTURE_GEN_R
|
3170
|
根据函数glTexGen,启用纹理处理
|
GL_TEXTURE_GEN_S
|
3168
|
根据函数glTexGen,启用纹理处理
|
GL_TEXTURE_GEN_T
|
3169
|
根据函数glTexGen,启用纹理处理
|
可能出现错误代码的情况。
错误代码
|
出现错误的可能情况
|
---|---|
GL_INVALID_ENUM
|
cap的值不是OpenGl所预设的值中的一个。.
|
GL_INVALID_OPERATION
|
glEnable在glBegin和glEnd之间被使用。
|
Windows NT/2000:需要 Windows NT 3.5 或者更高。
Windows 95/98:需要 Windows 95 或者更高. 这一设置同样适用于 Windows 95。
头文件:在Gl.h文件中声明。
库:使用库 Opengl32.lib。