名称:
glEnable/glDisable —— 开启和关闭服务器端GL功能
函数原型:
void glEnable(GLenum cap);
void glDisable(GLenum cap);
函数参数:
cap 指明一个GL功能的标识符。
描述:
glEnable/glDisable可以用来开启和关闭各种功能。使用glIsEnabled或glGet 来获取当前设置的GL功能。GL_DITHER和GL_MULTISAMPLE的初始值为GL_TURE,其他功能的初始值都是GL_FALSE。
glEnable/glDisable都只接受一个cap参数,cap 的取值可以是:
GL_ALPHA_TEST
alpha测试功能,参考glAlphaFunc函数。
GL_BLEND
混合功能,将片元颜色和颜色缓冲区的颜色进行混合,参考glBlendFunc。
GL_COLOR_LOGIC_OP
将当前的逻辑操作应用于经过计算的片元颜色和颜色缓冲区值,参考glLogicOp。
GL_CLIP_PLANEi
剪切用户定义的剪裁面i,参考glClipPlane。
GL_COLOR_MATERIAL
使用环境和漫反射材质来跟踪当前颜色。
GL_CULL_FACE
根据在窗口坐标中的弯曲来剔除多边形。
GL_DEPTH_TEST
进行深度比较和更新深度缓冲。注意,即使深度缓冲区存在并且表示深度缓冲区的掩码也不为0,但是如果深度测试被禁止的话,也是不会更新深度缓冲区的。参考glDepthFunc和glDepthRange。
GL_DITHER
在写入颜色缓冲区之前抖动颜色组件。
GL_FOG
将一个雾(fog)颜色混合进一个贴图后的颜色,参考glFog。
GL_LIGHTi
使用光i进行光照方程式计算,参考 glLightModel和 glLight。
GL_LIGHTING
使用当前光照计算顶点颜色。否则只是将当前的颜色和顶点简单的关联在一起,参考glMaterial, glLightModel, 和glLight.
GL_LINE_SMOOTH
使用正确的过滤来绘制线,参考glLineWidth.
GL_MULTISAMPLE
使用多个片元采样来计算最终的像素颜色,参考glSampleCoverage。
GL_NORMALIZE
在转换之后和光照之前将法线向量标准化成单位长度。通常这个功能效率要比GL_RESCALE_NORMAL低。参考glNormal和 glNormalPointer.
GL_POINT_SMOOTH
使用合适的过滤器来绘制点,参考glPointSize.
GL_POINT_SPRITE_OES
激活点精灵。参考glPointSize和 glTexEnv。
GL_POLYGON_OFFSET_FILL
在深度对比之前,给多边形片元的深度值加上一个偏移量。参考glPolygonOffset。
GL_RESCALE_NORMAL
在转换之后和光照之前,通过一个由模型矩阵计算出来的因子来对法线向量进行缩放。如果模型矩阵缩放空间保持一致,那么和存储转换后的法线为单位长度的效果是一样的。这个功能通常要比GL_NORMALIZE的效率高。参考glNormal和glNormalPointer。
GL_SAMPLE_ALPHA_TO_COVERAGE
计算一个临时的覆盖值,该值的每一位都由相应的采样位置的alpha值决定。临时覆盖值和片元覆盖值进行与操作。
GL_SAMPLE_ALPHA_TO_ONE
使用最大的可展现的alpha值来代替每一个采样alpha值。
GL_SAMPLE_COVERAGE
片元覆盖值和临时覆盖值进行与操作。如果GL_SAMPLE_COVERAGE_INVERT的值被设置为 GL_TRUE,那么将会反转覆盖值。参考glSampleCoverage。
GL_SCISSOR_TEST
丢弃在剪切区域外的片元,参考glScissor。
GL_STENCIL_TEST
进行模板测试和模板缓冲区更新。参考glStencilFunc,glStencilMask,glStencilOp。
GL_TEXTURE_2D
对活动的材质单元进行二维贴图。参考glActiveTexture, glTexImage2D,glCompressedTexImage2D, glCopyTexImage2D.
注意:
GL_CLIP_PLANEi 和GL_POINT_SPRITE_OES只在GL 1.1和更高版本中才被支持。