glEnable

glEnable

glEnable指的是OpenGL函式,聲明為void __stdcall glEnable(GLenum cap)。用於啟用指定的功能。同時可以通過glDisable來關閉glEnable打開的功能。

基本介紹

  • 外文名:glEnable
  • 類型OpenGL 函式
  • 功能:開啟參數cap指定的功能
參數說明,代碼示例,備註,cap參數表,錯誤提示代碼,需求環境,

參數說明

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

代碼示例

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

備註

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

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。

相關詞條

熱門詞條

聯絡我們