Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GLNORMALPOINTER()					     GLNORMALPOINTER()

NAME
       glNormalPointer - define	an array of normals

C SPECIFICATION
       void glNormalPointer( GLenum type,
			     GLsizei stride,
			     const GLvoid *pointer )

       delim $$

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

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

       pointer	Specifies a pointer to the first coordinate of the first  nor-
		mal in the array.

DESCRIPTION
       glNormalPointer	specifies  the location	and data format	of an array of
       normals to use when rendering.  type specifies the  data	 type  of  the
       normal  coordinates and stride gives the	byte stride from one normal to
       the next, allowing vertexes 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,  type,  stride,  and pointer 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 glArrayEle-
       ment is called.

       Use glDrawArrays	to construct a sequence	of primitives (all of the same
       type) from prespecified vertex and vertex attribute arrays.  Use	 glAr-
       rayElement  to  specify	primitives by indexing vertexes	and vertex at-
       tributes	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 glAr-
       rayElement, glDrawElements, or glDrawArrays is called.

       Execution of glNormalPointer is not allowed  between  glBegin  and  the
       corresponding  glEnd,  but  an error may	or may not be generated. If an
       error is	not generated, the operation is	undefined.

       glNormalPointer is typically implemented	on the client side.

       Since the normal	array parameters are client-side state,	they  are  not
       saved or	restored by glPushAttrib and glPopAttrib.  Use glPushClientAt-
       trib and	glPopClientAttrib instead.

ERRORS
       GL_INVALID_ENUM is generated if type is not an accepted value.

       GL_INVALID_VALUE	is generated if	stride 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, glEdge-
       FlagPointer, glEnable, glGetPointerv, glIndexPointer,  glInterleavedAr-
       rays, glPopClientAttrib,	glPushClientAttrib, glTexCoordPointer, glVert-
       exPointer

							     GLNORMALPOINTER()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=glNormalPointer&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help