glEnable
用于启用各种功能。功能由参数决定。与glDisable相对应。glDisable是用来关闭的。两个函数参数取值是一至的。
参数说明:
void glEnable(GLenum cap)
GLenum 是unsigned int 类型
cap 是一个取值。由值决定启用的功能键。各种功能请看参数cap的取值表
代码示例:
……
000 glEnable(GL_BLEND);//启用色彩混合
说明:
glEnable不能写在glBegin和glEnd两个函数中间。
参数cap的取值
类型
值
说明
GL_ALPHA_TEST
4864
跟据函数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
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1
生成RGBA曲线
GL_MAP1_INDEX
3473
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1
生成颜色索引曲线
GL_MAP1_NORMAL
3474
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1
生成法线
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
根据函数Map1对贝赛尔曲线的设置,
启用glEvalCoord1,glEvalMesh1,glEvalPoint1
在四维空间里生成法线
GL_MAP2_COLOR_4
3504
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2
生成RGBA曲线
GL_MAP2_INDEX
3505
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2
生成颜色索引
GL_MAP2_NORMAL
3506
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2
生成法线
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
根据函数Map2对贝赛尔曲线的设置,
启用glEvalCoord2,glEvalMesh2,glEvalPoint2
在三维空间里生成曲线
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,启用纹理处理