glEnable

OpenGl 函式。用於啟用各種功能。具體功能由參數決定。與glDisable相對應。glDisable用以關閉各項功能。glEnable不能寫在glBegin和glEnd兩個函式中間。cap具體取值為OpenGl所預設的常量。各種功能參見參數cap的取值表。可能出現錯誤代碼的情況。

基本內容

參數說明

voidglEnable(GLenumcap);

GLenum說明參數應為unsignedint類型

cap具體取值為OpenGl所預設的常量。cap決定所要啟用的功能。各種功能參見參數cap的取值表。

代碼示例

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

備註

使用glIsEnabled或者glGet來確定當前各項功能的開啟情況。

glEnable不能寫在glBegin和glEnd兩個函式中間。

cap參數表

錯誤提示代碼

可能出現錯誤代碼的情況。

需求環境

需要WindowsNT3.5或者更高。

需要Windows95或者更高.這一設定同樣適用於Windows95。

Gl.h檔案中聲明。

使用庫Opengl32.lib。

cap參數表

類型 說明
GL_ALPHA_TEST 4864 根據函式glAlphaFunc的條件要求來決定圖形透明的層度是否顯示。具體參見glAlphaFunc
GL_AUTO_NORMAL 3456 執行後,圖形能把光反射到各個方向
GL_BLEND 3042 啟用 顏色混合 。例如實現半透明效果
GL_CLIP_PLANE0 ~ GL_CLIP_PLANE5 12288 ~ 12283 根據函式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 3475 根據函式Map1對貝賽爾曲線的設定,
啟用glEvalCoord1,glEvalMesh1,glEvalPoint1
生成文理坐標
GL_MAP1_TEXTURE_COORD_2 3476 根據函式Map1對貝賽爾曲線的設定,
啟用glEvalCoord1,glEvalMesh1,glEvalPoint1
生成文理坐標
GL_MAP1_TEXTURE_COORD_3 3477 根據函式Map1對貝賽爾曲線的設定,
啟用glEvalCoord1,glEvalMesh1,glEvalPoint1
生成文理坐標
GL_MAP1_TEXTURE_COORD_4 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 3507 根據函式Map2對貝賽爾曲線的設定,
啟用glEvalCoord2,glEvalMesh2,glEvalPoint2
生成紋理坐標
GL_MAP2_TEXTURE_COORD_2 3508 根據函式Map2對貝賽爾曲線的設定,
啟用glEvalCoord2,glEvalMesh2,glEvalPoint2
生成紋理坐標
GL_MAP2_TEXTURE_COORD_3 3509 根據函式Map2對貝賽爾曲線的設定,
啟用glEvalCoord2,glEvalMesh2,glEvalPoint2
生成紋理坐標
GL_MAP2_TEXTURE_COORD_4 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 開啟使用 模板測試 並且更新模版快取。參見 glStencilFunc glStencilOp .
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。

相關詞條

相關搜尋

熱門詞條

聯絡我們