Unix/Linux Go Back    


CentOS 7.0 - man page for glnormalpointer (centos section 3G)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


GLNORMALPOINTER(3G)			  OpenGL Manual 		      GLNORMALPOINTER(3G)

NAME
       glNormalPointer - define an array of normals

C SPECIFICATION
       void glNormalPointer(GLenum type, GLsizei stride, const GLvoid * 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 normals are
	   understood to be tightly packed in the array. The initial value is 0.

       pointer
	   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 format of an array of normals to use when
       rendering.  type specifies the data type of each normal coordinate, and stride specifies
       the byte stride from one normal to the next, allowing vertices 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().)

       If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see
       glBindBuffer()) while a normal array is specified, pointer is treated as a byte offset
       into the buffer object's data store. Also, the buffer object binding
       (GL_ARRAY_BUFFER_BINDING) is saved as normal vertex array client-side state
       (GL_NORMAL_ARRAY_BUFFER_BINDING).

       When a normal array is specified, type, stride, and pointer are saved as client-side
       state, in addition to the current vertex array buffer object binding.

       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(), glMultiDrawArrays(), glDrawElements(), glMultiDrawElements(),
       glDrawRangeElements(), or glArrayElement() is called.

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(), glDrawRangeElements(), glDrawArrays(), glMultiDrawArrays(), or
       glMultiDrawElements() 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.

       Normal array parameters are client-side state and are therefore not saved or restored by
       glPushAttrib() and glPopAttrib(). Use glPushClientAttrib() 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

       glGet() with argument GL_NORMAL_ARRAY_BUFFER_BINDING

       glGet() with argument GL_ARRAY_BUFFER_BINDING

       glGetPointerv() with argument GL_NORMAL_ARRAY_POINTER

SEE ALSO
       glArrayElement(), glBindBuffer(), glColorPointer(), glDisableClientState(),
       glDrawArrays(), glDrawElements(), glDrawRangeElements(), glEdgeFlagPointer(),
       glEnableClientState(), glFogCoordPointer(), glIndexPointer(), glInterleavedArrays(),
       glMultiDrawArrays(), glMultiDrawElements(), glNormal(), glPopClientAttrib(),
       glPushClientAttrib(), glSecondaryColorPointer(), glTexCoordPointer(),
       glVertexAttribPointer(), glVertexPointer()

COPYRIGHT
       Copyright (C) 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/.

AUTHORS
       opengl.org

opengl.org				    06/10/2014			      GLNORMALPOINTER(3G)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 05:00 AM.