[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
OpenGL 1.2 for AIX: Reference Manual

glTexCoordPointerListIBM Subroutine

Purpose

Defines a list of texture coordinate arrays.

Library

OpenGL C bindings library: libGL.a

C Syntax

void glTexCoordPointerListIBM(GLint size,
   GLenum type,
   GLint stride,
   const GLvoid **pointer,               
   GLint ptrstride)

Description

The glTexCoordPointerListIBM subroutine specifies the location and data format of a list of arrays of texture coordinate components to use when rendering. The size parameter specifies the number of components per texture coordinate, and must be 1, 2, 3 or 4. The type parameter specifies the data type of each texture coordinate component. The stride parameter gives the byte stride from one texture coordinate 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). The ptrstride parameter specifies the byte stride from one pointer to the next in the pointer array.

When a texture coordinate array is specified, size, type, stride, pointer and ptrstride are saved as client side state.

A stride value of 0 does not specify a "tightly packed" array as it does in glTexCoordPointer. Instead, it causes the first array element of each array to be used for each vertex. Also, a negative value can be used for stride, which allows the user to move through each array in reverse order.

To enable and disable the texture coordinate arrays, call glEnableClientState and glDisableClientState with the argument GL_TEXTURE_COORD_ARRAY. The texture coordinate array is initially disabled. When enabled, the texture coordinate arrays are used when glMultiDrawArraysEXT, glMultiDrawElementsEXT, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glDrawArrays, glDrawElements or glArrayElement is called. The last three calls in this list will only use the first array (the one pointed at by pointer[0]). See the descriptions of these routines for more information on their use.

Parameters

size Specifies the number of components per texture coordinate. It must be 1, 2, 3 or 4. The initial value is 4.
type Specifies the data type of each texture coordinate component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
stride Specifies the byte offset between consecutive texture coordinates. The initial value is 0.
pointer Specifies a list of texture coordinate arrays. The initial value is 0 (NULL pointer).
ptrstride Specifies the byte stride between successive pointers in the pointer array. The initial value is 0.

Notes

The glTexCoordPointerListIBM subroutine is available only if the GL_IBM_vertex_array_lists extension is supported.

Execution of glTexCoordPointerListIBM 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.

The glTexCoordPointerListIBM subroutine is typically implemented on the client side.

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

When a glTexCoordPointerListIBM call is encountered while compiling a display list, the information it contains does NOT contribute to the display list, but is used to update the immediate context instead.

The glTexCoordPointer call and the glTexCoordPointerListIBM call share the same state variables. A glTexCoordPointer call will reset the texture coordinate list state to indicate that there is only one texture coordinate list, so that any and all lists specified by a previous glTexCoordPointerListIBM call will be lost, not just the first list that it specified.

Error Codes

Associated Gets

Related Information

The glArrayElement subroutine, glTexCoordPointer subroutine, glDrawArrays subroutine, glDrawElements subroutine, glEdgeFlagPointer subroutine, glEnable subroutine, glGetPointerv subroutine, glIndexPointer subroutine, glInterleavedArrays subroutine, glMultiDrawArraysEXT subroutine, glMultiDrawElementsEXT subroutine, glMultiModeDrawArraysIBM subroutine, glMultiModeDrawElementsIBM subroutine, glNormalPointer subroutine, glPopClientAttrib subroutine, glPushClientAttrib subroutine, glTexCoordPointer subroutine, glVertexPointer subroutine.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]