複製鏈接
請複製以下鏈接發送給好友

glEnable

鎖定
glEnable指的是OpenGL函數,聲明為void __stdcall glEnable(GLenum cap)。用於啓用指定的功能。同時可以通過glDisable來關閉glEnable打開的功能。
外文名
glEnable
類    型
OpenGL函數
功    能
開啓參數cap指定的功能

glEnable參數説明

void glEnable(GLenum cap);
GLenum 説明參數應為unsigned int 類型
cap 具體取值為OpenGl所預設的常量。cap決定所要啓用的功能。各種功能參見參數cap的取值表。 [1] 

glEnable代碼示例

glEnable(GL_BLEND);//啓用色彩混合 [1] 

glEnable其他信息

使用glIsEnabled或者glGet來確定當前各項功能的開啓情況。
glEnable不能寫在glBeginglEnd兩個函數中間。
[1] 

glEnablecap參數表

類型
説明
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,啓用紋理處理
[1] 

glEnable錯誤提示代碼

可能出現錯誤代碼的情況。
錯誤代碼
出現錯誤的可能情況
GL_INVALID_ENUM
cap的值不是OpenGl所預設的值中的一個。.
GL_INVALID_OPERATION
glEnable在glBegin和glEnd之間被使用。
[1] 

glEnable需求環境

Windows NT/2000:需要 Windows NT 3.5 或者更高。
Windows 95/98:需要 Windows 95 或者更高. 這一設置同樣適用於 Windows 95。
頭文件:在Gl.h文件中聲明。
庫:使用庫 Opengl32.lib。
[1] 
參考資料