glEnable

3G

glEnable

enable or disable server-side GL capabilities

# C Specification

                    void glEnable
                    GLenum cap

                    void glDisable
                    GLenum cap

## Parameters

`cap`

- Specifies a symbolic constant indicating a GL capability.

## Description

`glEnable` and

glDisable

enable and disable various capabilities. Use

glIsEnabled

or

glGet

to determine the current setting of any capability. The initial value for each capability with the exception of `GL_DITHER` is `GL_FALSE`. The initial value for `GL_DITHER` is `GL_TRUE`.

Both `glEnable` and

glDisable

take a single argument, `cap`, which can assume one of the following values:

`GL_BLEND`

- If enabled, blend the computed fragment color values with the values in the color buffers. See

  glBlendFunc

  .

`GL_CULL_FACE`

- If enabled, cull polygons based on their winding in window coordinates. See

  glCullFace

  .

`GL_DEPTH_TEST`

- If enabled, do depth comparisons and update the depth buffer. Note that even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. See

  glDepthFunc

  and

  glDepthRangef

  .

`GL_DITHER`

- If enabled, dither color components or indices before they are written to the color buffer.

`GL_POLYGON_OFFSET_FILL`

- If enabled, an offset is added to depth values of a polygon's fragments before the depth comparison is performed. See

  glPolygonOffset

  .

`GL_PRIMITIVE_RESTART_FIXED_INDEX`

- Enables primitive restarting. If enabled, any one of the draw commands which transfers a set of generic attribute array elements to the GL will restart the primitive when the index of the vertex is equal to 2 n − 1 where n is 8, 16 or 32 if the type is `GL_UNSIGNED_BYTE`, `GL_UNSIGNED_SHORT`, or `GL_UNSIGNED_INT`, respectively.

`GL_RASTERIZER_DISCARD`

- If enabled, primitives are discarded immediately before the rasterization stage, but after the optional transform feedback stage.

  glClear

  and

  glClearBuffer

  * commands are also ignored.

`GL_SAMPLE_ALPHA_TO_COVERAGE`

- If enabled, compute a temporary coverage value where each bit is determined by the alpha value at the corresponding sample location. The temporary coverage value is then ANDed with the fragment coverage value.

`GL_SAMPLE_COVERAGE`

- If enabled, the fragment's coverage is ANDed with the temporary coverage value. If `GL_SAMPLE_COVERAGE_INVERT` is set to `GL_TRUE`, invert the coverage value. See

  glSampleCoverage

  .

`GL_SCISSOR_TEST`

- If enabled, discard fragments that are outside the scissor rectangle. See

  glScissor

  .

`GL_STENCIL_TEST`

- If enabled, do stencil testing and update the stencil buffer. See

  glStencilFunc

  and

  glStencilOp

  .

## Errors

`GL_INVALID_ENUM` is generated if `cap` is not one of the values listed previously.

## Associated Gets

glIsEnabled

glGet

## API Version Support

`glEnable`
`glDisable`

## See Also

glBlendFunc

,

glCullFace

,

glDepthFunc

,

glDepthRangef

,

glGet

,

glIsEnabled

,

glPolygonOffset

,

glSampleCoverage

,

glScissor

,

glStencilFunc

,

glStencilOp

,

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. Copyright 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.