- define an array of normals



C SPECIFICATION


PARAMETERS

       _param1  Specifies the data type of each coordinate in the
                array.   Symbolic  constants  GL_BYTE,  GL_SHORT,
                GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The
                initial value is GL_FLOAT.

       _param2  Specifies the  byte  offset  between  consecutive
                normals.  If  _param2 is 0- the initial value-the
                normals are understood to be  tightly  packed  in
                the array.  The initial value is 0.

       _param3  Specifies  a  pointer  to the first coordinate of
                the first normal in the array.  The initial value
                is 0.


DESCRIPTION

       glNormalPointer  specifies  the  location  and data  of an
       array of normals to use when rendering.  _param1 specifies
       the  data type of the normal coordinates and _param2 gives
       the byte stride from one normal to the next, allowing ver-
       texes  and  attributes to be packed into a single array or
       stored in separate arrays.  (Single-array storage  may  be
       more    efficient    on    some    implementations;    see
       glInterleavedArrays.)  When a normal array  is  specified,
       _param1,  _param2,  and  _param3  are saved as client-side
       state.

       To   enable   and   disable   the   normal   array,   call
       glEnableClientState   and  glDisableClientState  with  the
       argument GL_NORMAL_ARRAY. If enabled, the normal array  is
       used  when glDrawArrays, glDrawElements, or glArrayElement
       is called.

       Use glDrawArrays to construct  a  sequence  of  primitives
       (all of the same type) from prespecified vertex and vertex
       attribute arrays.  Use glArrayElement  to  specify  primi-
       tives  by  indexing  vertexes  and  vertex  attributes and
       glDrawElements to construct a sequence  of  primitives  by
       indexing vertexes and vertex attributes.


NOTES

       glNormalPointer is available only if the GL version is 1.1
       or greater.

       The normal array is initially disabled and isn't  accessed
       when  glArrayElement,  glDrawElements,  or glDrawArrays is
       called.

       GL_INVALID_ENUM is generated if _param1 is not an accepted
       value.

       GL_INVALID_VALUE is generated if _param2 is negative.


ASSOCIATED GETS

       glIsEnabled with argument GL_NORMAL_ARRAY
       glGet with argument GL_NORMAL_ARRAY_TYPE
       glGet with argument GL_NORMAL_ARRAY_STRIDE
       glGetPointerv with argument GL_NORMAL_ARRAY_POINTER


SEE ALSO

       glArrayElement,       glColorPointer,        glDrawArrays,
       glDrawElements,        glEdgeFlagPointer,        glEnable,
       glGetPointerv,    glIndexPointer,     glInterleavedArrays,
       glPopClientAttrib,  glPushClientAttrib, glTexCoordPointer,
       glVertexPointer



                                                                1