*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/gltexcoordpointer (3)              
Title
Content
Arch
Section
 

Contents


glTexCoordPointer(3G)	       OpenGL Reference		 glTexCoordPointer(3G)


NAME    [Toc]    [Back]

     glTexCoordPointer - define	an array of texture coordinates

C SPECIFICATION    [Toc]    [Back]

     void glTexCoordPointer( GLint size,
			     GLenum type,
			     GLsizei stride,
			     const GLvoid *pointer )

PARAMETERS    [Toc]    [Back]

     size     Specifies	the number of coordinates per array element. Must be
	      1, 2, 3 or 4. The	initial	value is 4.

     type     Specifies	the data type of each texture coordinate.  Symbolic
	      constants	GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted.
	      The initial value	is GL_FLOAT.

     stride   Specifies	the byte offset	between	consecutive array elements.
	      If stride	is 0, the array	elements are understood	to be tightly
	      packed. The initial value	is 0.

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

DESCRIPTION    [Toc]    [Back]

     glTexCoordPointer specifies the location and data format of an array of
     texture coordinates to use	when rendering.	 size specifies	the number of
     coordinates per element, and must be 1, 2,	3, or 4.  type specifies the
     data type of each texture coordinate and stride specifies the byte	stride
     from one array element 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.)  When a texture coordinate array is specified,
     size, type, stride, and pointer are saved client-side state.

     To	enable and disable the texture coordinate array, call
     glEnableClientState and glDisableClientState with the argument
     GL_TEXTURE_COORD_ARRAY. If	enabled, the texture coordinate	array is used
     when glDrawArrays,	glDrawElements,	glDrawRangeElements 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 primitives by indexing vertices and vertex
     attributes	and glDrawElements to construct	a sequence of primitives by
     indexing vertices and vertex attributes.







									Page 1






glTexCoordPointer(3G)	       OpenGL Reference		 glTexCoordPointer(3G)



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

     The texture coordinate array is initially disabled	and it won't be
     accessed when glArrayElement, glDrawElements, glDrawRangeElements,	or
     glDrawArrays is called.

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

     glTexCoordPointer is typically implemented	on the client side with	no
     protocol.

     The texture coordinate array parameters are client-side state and are
     therefore not saved or restored by	glPushAttrib and glPopAttrib.  Use
     glPushClientAttrib	and glPopClientAttrib instead.

ERRORS    [Toc]    [Back]

     GL_INVALID_VALUE is generated if size is not 1, 2,	3, or 4.

     GL_INVALID_ENUM is	generated if type is not an accepted value.

     GL_INVALID_VALUE is generated if stride is	negative.

ASSOCIATED GETS    [Toc]    [Back]

     glIsEnabled with argument GL_TEXTURE_COORD_ARRAY
     glGet with	argument GL_TEXTURE_COORD_ARRAY_SIZE
     glGet with	argument GL_TEXTURE_COORD_ARRAY_TYPE
     glGetPointerv with	argument GL_TEXTURE_COORD_ARRAY_POINTER


MACHINE	DEPENDENCIES
     On	RealityEngine, RealityEngine2, and VTX systems,	do not enable or
     disable GL_VERTEX_ARRAY, GL_VERTEX_ARRAY_EXT, GL_NORMAL_ARRAY,
     GL_NORMAL_ARRAY_EXT, GL_COLOR_ARRAY, GL_COLOR_ARRAY_EXT,
     GL_INDEX_ARRAY,GL_INDEX_ARRAY_EXT,	GL_TEXTURE_COORD_ARRAY,
     GL_TEXTURE_COORD_ARRAY_EXT, GL_EDGE_FLAG_ARRAY or GL_EDGE_FLAG_ARRAY_EXT
     between a call to glNewList and the corresponding call to glEndList.
     Instead, enable or	disable	before the call	to glNewList.

     On	InfiniteReality	systems	it is particularly important to	minimize the
     amount of data transferred	from the application to	the graphics pipe,
     since the host-to-pipe bandwidth limit can	cause a	performance
     bottleneck.  One way to reduce the	amount of data transferred per vertex
     is	to use properly-aligned	byte and short data types whenever possible.
     Accordingly, the EXT_vertex_array extension on InfiniteReality systems
     has been optimized	for vertex information packed into the following data
     structures.  (Note: v represents vertex coordinates, c represents color
     components, n represents normal coordinates, and t	represents texture
     coordinates.  Normals must	have unit length.)




									Page 2






glTexCoordPointer(3G)	       OpenGL Reference		 glTexCoordPointer(3G)



	  struct {GLfloat v[3];}
	  struct {GLubyte c[4];	GLfloat	v[3];}
	  struct {GLshort n[3];	GLfloat	v[3];}
	  struct {GLubyte c[4];	GLshort	n[3]; GLfloat v[3];}
	  struct {GLshort t[2];	GLfloat	v[3];}
	  struct {GLshort t[2];	GLubyte	c[4]; GLfloat v[3];}
	  struct {GLshort t[2];	GLshort	n[3]; GLfloat v[3];}
	  struct {GLshort t[2];	GLubyte	c[4]; GLshort n[3]; GLfloat v[3];}
	  struct {GLfloat t[2];	GLfloat	v[3];}
	  struct {GLfloat t[2];	GLubyte	c[4]; GLfloat v[3];}
	  struct {GLfloat t[2];	GLshort	n[3]; GLfloat v[3];}
	  struct {GLfloat t[2];	GLubyte	c[4]; GLshort n[3]; GLfloat v[3];}

     Application-specific fields may be	added to these structures, provided
     that all the fields described above retain	their relative order and word
     alignment.

     An	additional constraint applies when glTexGen is being used.  The
     implementation normally generates all four	texture	coordinates in
     parallel, and must	take special action to generate	just a subset of the
     four coordinates.	Therefore performance is best when none	of the texture
     coordinates are being generated, or when all of them are being generated.
     For example, when using 2D	texturing (generating s	and t coordinates) it
     will be faster to enable texture coordinate generation for	the r and q
     coordinates as well as s and t.  Choose a texture generation mode of
     GL_OBJECT_LINEAR and use the plane	equations (0,0,0,0) and	(0,0,0,1) for
     r and q, respectively.

     Using these structures on InfiniteReality systems can improve performance
     considerably, compared to structures in which all values are singleprecision
 floating	point.

SEE ALSO    [Toc]    [Back]

      
      
     glArrayElement, glColorPointer, glDrawArrays, glDrawElements,
     glDrawRangeElements, glEdgeFlagPointer, glEnable, glGetPointerv,
     glIndexPointer, glNormalPointer, glPopClientAttrib, glPushClientAttrib,
     glTexCoord, glVertexPointer


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
glTexCoord1dv Tru64 set the current texture coordinates
glTexCoord1f Tru64 set the current texture coordinates
glTexCoord1fv Tru64 set the current texture coordinates
glTexCoord13s Tru64 set the current texture coordinates
glTexCoord Tru64 set the current texture coordinates
glTexCoord3dv Tru64 set the current texture coordinates
glTexCoord3iv Tru64 set the current texture coordinates
glTexCoord3i Tru64 set the current texture coordinates
glTexCoord2f Tru64 set the current texture coordinates
glTexCoord2sv Tru64 set the current texture coordinates
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service