Thursday, May 26, 2011

glEnableClientState example c c++ objc java

NAME
   glEnableClientState, glDisableClientState - 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_INDEX_ARRAY,
        GL_NORMAL_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 glDrawArrays or
       glDrawElement is called. See
       glColorPointer.

   GL_EDGE_FLAG_ARRAY    If enabled, the edge flag array is
       enabled for writing and used during
       rendering when glDrawArrays or
       glDrawElements is called. See
       glEdgeFlagPointer.

   GL_INDEX_ARRAY    If enabled, the index array is
       enabled for writing and used during
       rendering when glDrawArrays or
       glDrawElements is called. See
       glIndexPointer.

   GL_NORMAL_ARRAY    If enabled, the normal array is
       enabled for writing and used during
       rendering when glDrawArrays or
       glDrawElements is called. See
       glNormalPointer.

   GL_TEXTURE_COORD_ARRAY   If enabled, the texture coordinate
       array is enabled for writing and
       used for rendering when
       glDrawArrays or glDrawElements is
       called. See glTexCoordPointer.

   GL_VERTEX_ARRAY    If enabled, the vertex array is
       enabled for writing and used during
       rendering when glDrawArrays or
       glDrawElements is called. See
       glVertexPointer.

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

     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, glColorPointer, glDrawArrays,
   glDrawElements, glEdgeFlagPointer, glEnable, glGetPointerv,
   glIndexPointer, glInterleavedArrays, glNormalPointer,
   glTexCoordPointer, glVertexPointer

Example

static const GLfloat squareTexCoord[] = {
        0, 1,
        1, 1,
        0, 0,
        1, 0,
 };


glBindTexture(GL_TEXTURE_2D, m_Tex.TexID);
glVertexPointer(2, GL_FLOAT, 0, squareVertices);
glEnableClientState(GL_VERTEX_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, squareTexCoord);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);