glEnable

2019-09-05 33 0 举报/投诉

glEnable

glEnable指的是OpenGL函式,声明为void __stdcall glEnable(GLenum cap)。用于启用指定的功能。同时可以通过glDisable来关闭glEnable打开的功能。

基本介绍

  • 外文名:glEnable
  • 类型:OpenGL 函式
  • 功能:开启参数cap指定的功能

参数说明

void glEnable(GLenum cap);GLenum 说明参数应为unsigned int 类型cap 具体取值为OpenGl所预设的常量。cap决定所要启用的功能。各种功能参见参数cap的取值表。

代码示例

glEnable(GL_BLEND);//启用色彩混合

备注

使用glIsEnabled或者glGet来确定当前各项功能的开启情况。glEnable不能写在glBegin和glEnd两个函式中间。

cap参数表

类型 说明
GL_ALPHA_TEST 4864 根据函式glAlphaFunc的条件要求来决定图形透明的层度是否显示。具体参见glAlphaFunc
GL_AUTO_NORMAL 3456 执行后,图形能把光反射到各个方向
GL_BLEND 3042 启用颜色混合。用于实现半透明效果
GL_CLIP_PLANE0 ~ GL_CLIP_PLANE5 12288 ~ 12293 根据函式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 ~ GL_MAP1_TEXTURE_COORD_4 3475 ~ 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 ~ GL_MAP2_TEXTURE_COORD_4 3507 ~ 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 开启使用模板测试并且更新模版快取。参见glStencilFuncglStencilOp.
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。

相关文章

财务经理财务
美乐地
联合国欧洲本部
外来农民工
龙吻0
达卡(孟加拉国首都和第一大城市)

发布评论