NAME
	  fglNormalPointer - define an array of	normals


     FORTRAN SPECIFICATION
	  SUBROUTINE fglNormalPointer( INTEGER*4 type,
				       INTEGER*4 stride,
				       CHARACTER*8 pointer )


     PARAMETERS
	  type	   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.

	  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 normal	in the array.

     DESCRIPTION
	  fglNormalPointer 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
	  fglInterleavedArrays.)  When a normal	array is specified,
	  type,	stride,	and pointer are	saved as client-side state.

	  To enable and	disable	the normal array, call
	  fglEnableClientState and fglDisableClientState with the
	  argument GL_NORMAL_ARRAY. If enabled,	the normal array is
	  used when fglDrawArrays, fglDrawElements, or fglArrayElement
	  is called.

	  Use fglDrawArrays to construct a sequence of primitives (all
	  of the same type) from prespecified vertex and vertex
	  attribute arrays.  Use fglArrayElement to specify primitives
	  by indexing vertexes and vertex attributes and
	  fglDrawElements to construct a sequence of primitives	by
	  indexing vertexes and	vertex attributes.

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

	  The normal array is initially	disabled and isn't accessed
	  when fglArrayElement,	fglDrawElements, or fglDrawArrays is
	  called.

	  Execution of fglNormalPointer	is not allowed between
	  fglBegin and the corresponding fglEnd, but an	error may or
	  may not be generated.	If an error is not generated, the
	  operation is undefined.

	  fglNormalPointer is typically	implemented on the client
	  side.

	  Since	the normal array parameters are	client-side state,
	  they are not saved or	restored by fglPushAttrib and
	  fglPopAttrib.	 Use fglPushClientAttrib and
	  fglPopClientAttrib 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
	  fglIsEnabled with argument GL_NORMAL_ARRAY
	  fglGet with argument GL_NORMAL_ARRAY_TYPE
	  fglGet with argument GL_NORMAL_ARRAY_STRIDE
	  fglGetPointerv with argument GL_NORMAL_ARRAY_POINTER

     SEE ALSO
	  fglArrayElement, fglColorPointer, fglDrawArrays,
	  fglDrawElements, fglEdgeFlagPointer, fglEnable,
	  fglGetPointerv, fglIndexPointer, fglInterleavedArrays,
	  fglPopClientAttrib, fglPushClientAttrib, fglTexCoordPointer,
	  fglVertexPointer