基本內容
參數說明
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。