现在的位置: 首页 > 综合 > 正文

OpenGL ES之glEnable和glDisable函数

2014年02月13日 ⁄ 综合 ⁄ 共 1998字 ⁄ 字号 评论关闭

名称:

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和更高版本中才被支持。

抱歉!评论已关闭.