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

  man pages->IRIX man pages -> OpenGL/gltexcoordpointerext (3)              


glTexCoordPointerEXT(3G)       OpenGL Reference	      glTexCoordPointerEXT(3G)

NAME    [Toc]    [Back]

     glTexCoordPointerEXT - define an array of texture coordinates

C SPECIFICATION    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

     size     Specifies	the number of coordinates per array element. It	must
	      be 1, 2, 3 or 4.

     type     Specifies	the data type of each texture coordinate.  Symbolic
	      constants	GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE_EXT, are

     stride   Specifies	the byte offset	between	consecutive array elements.
	      If stride	is zero	the array elements are understood to be
	      tightly packed.

     count    Specifies	the number of array elements, counting from the	first,
	      that are static.

     pointer  Specifies	a pointer to the first coordinate of the first element
	      in the array.

DESCRIPTION    [Toc]    [Back]

     glTexCoordPointerEXT specifies the	location and data format of an array
     of	texture	coordinates to use when	rendering using	the vertex array
     extension.	 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 gives 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.)	count indicates	the number of array elements
     (counting from the	first) that are	static.	Static elements	may be
     modified by the application, but once they	are modified, the application
     must explicitly respecify the array before	using it for any rendering.
     When a texture coordinate array is	specified, size, type, stride, count,
     and pointer are saved as client-side state, and static array elements may
     be	cached by the implementation.

     The texture coordinate array is enabled and disabled using	glEnable and
     glDisable with the	argument GL_TEXTURE_COORD_ARRAY_EXT. If	enabled, the
     texture coordinate	array is used when glDrawArraysEXT or
     glArrayElementEXT is called.

									Page 1

glTexCoordPointerEXT(3G)       OpenGL Reference	      glTexCoordPointerEXT(3G)

     Use glDrawArraysEXT to define a sequence of primitives (all of the	same
     type) from	pre-specified vertex and vertex	attribute arrays.  Use
     glArrayElementEXT to specify primitives by	indexing vertices and vertex

NOTES    [Toc]    [Back]

     Non-static	array elements are not accessed	until glArrayElementEXT	or
     glDrawArraysEXT is	executed.

     By	default	the texture coordinate array is	disabled and it	won't be
     accessed when glArrayElementEXT or	glDrawArraysEXT	is called.

     Although it is not	an error to call glTexCoordPointerEXT between the
     execution of glBegin and the corresponding	execution of glEnd, the
     results are undefined.

     glTexCoordPointerEXT will typically be implemented	on the client side
     with no protocol.

     Since the texture coordinate array	parameters are client side state, they
     are not saved or restored by glPushAttrib and glPopAttrib.

     glTexCoordPointerEXT commands are not entered into	display	lists.

     glTexCoordPointerEXT is part of the EXT_vertex_array extension, not part
     of	the core GL command set. If GL_EXT_vertex_array	is included in the
     string returned by	glGetString, when called with argument GL_EXTENSIONS,
     extension EXT_vertex_array	is supported.

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 or	count  is negative

ASSOCIATED GETS    [Toc]    [Back]

     glIsEnabled with argument GL_TEXTURE_COORD_ARRAY_EXT
     glGet with	argument GL_TEXTURE_COORD_ARRAY_SIZE_EXT
     glGet with	argument GL_TEXTURE_COORD_ARRAY_TYPE_EXT
     glGet with	argument GL_TEXTURE_COORD_ARRAY_STRIDE_EXT
     glGet with	argument GL_TEXTURE_COORD_ARRAY_COUNT_EXT
     glGetPointervEXT with argument GL_TEXTURE_COORD_ARRAY_POINTER_EXT

									Page 2

glTexCoordPointerEXT(3G)       OpenGL Reference	      glTexCoordPointerEXT(3G)

     On	RealityEngine, RealityEngine2, and VTX systems,	do not enable or
     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.)

	  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

     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.

									Page 3

glTexCoordPointerEXT(3G)       OpenGL Reference	      glTexCoordPointerEXT(3G)

SEE ALSO    [Toc]    [Back]

     glArrayElementEXT,	glColorPointerEXT, glDrawArraysEXT,
     glEdgeFlagPointerEXT, glEnable, glGetPointervEXT, glIndexPointerEXT,
     glNormalPointerEXT, glVertexPointerEXT

									PPPPaaaaggggeeee 4444
[ 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