1991-2006 Silicon Graphics, Inc.

glEnableClientState

3G

glEnableClientState

enable or disable client-side capability

# C Specification

                    void glEnableClientState
                    GLenum cap

## Parameters

`cap`

- Specifies the capability to enable. Symbolic constants `GL_COLOR_ARRAY`, `GL_EDGE_FLAG_ARRAY`, `GL_FOG_COORD_ARRAY`, `GL_INDEX_ARRAY`, `GL_NORMAL_ARRAY`, `GL_SECONDARY_COLOR_ARRAY`, `GL_TEXTURE_COORD_ARRAY`, and `GL_VERTEX_ARRAY` are accepted.

## C Specification

                    void glDisableClientState
                    GLenum cap

## Parameters

`cap`

- Specifies the capability to disable.

## Description

`glEnableClientState` and

glDisableClientState

enable or disable individual client-side capabilities. By default, all client-side capabilities are disabled. Both `glEnableClientState` and

glDisableClientState

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

`GL_COLOR_ARRAY`

- If enabled, the color array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glColorPointer

  .

`GL_EDGE_FLAG_ARRAY`

- If enabled, the edge flag array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glEdgeFlagPointer

  .

`GL_FOG_COORD_ARRAY`

- If enabled, the fog coordinate array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glFogCoordPointer

  .

`GL_INDEX_ARRAY`

- If enabled, the index array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glIndexPointer

  .

`GL_NORMAL_ARRAY`

- If enabled, the normal array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glNormalPointer

  .

`GL_SECONDARY_COLOR_ARRAY`

- If enabled, the secondary color array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glColorPointer

  .

`GL_TEXTURE_COORD_ARRAY`

- If enabled, the texture coordinate array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glTexCoordPointer

  .

`GL_VERTEX_ARRAY`

- If enabled, the vertex array is enabled for writing and used during rendering when

  glArrayElement

  ,

  glDrawArrays

  ,

  glDrawElements

  ,

  glDrawRangeElements

  glMultiDrawArrays

  , or

  glMultiDrawElements

  is called. See

  glVertexPointer

  .

## Notes

`glEnableClientState` is available only if the GL version is 1.1 or greater.

`GL_FOG_COORD_ARRAY` and `GL_SECONDARY_COLOR_ARRAY` are available only if the GL version is 1.4 or greater.

For OpenGL versions 1.3 and greater, or when `ARB_multitexture` is supported, enabling and disabling `GL_TEXTURE_COORD_ARRAY` affects the active client texture unit. The active client texture unit is controlled with

glClientActiveTexture

.

## Errors

`GL_INVALID_ENUM` is generated if `cap` is not an accepted value.

`glEnableClientState` is not allowed between the execution of

glBegin

and the corresponding

glEnd

, but an error may or may not be generated. If no error is generated, the behavior is undefined.

## See Also

glArrayElement

,

glClientActiveTexture

,

glColorPointer

,

glDrawArrays

,

glDrawElements

,

glEdgeFlagPointer

,

glFogCoordPointer

,

glEnable

,

glGetPointerv

,

glIndexPointer

,

glInterleavedArrays

,

glNormalPointer

,

glSecondaryColorPointer

,

glTexCoordPointer

,

glVertexPointer

## Copyright

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