glIndexPointer
[New
- Windows 95, OEM Service Release 2]
The glIndexPointer
function defines an array of color indexes.
void glIndexPointer(
GLenum type, |
|
GLsizei stride, |
|
GLsizei count, |
|
const GLvoid *pointer |
|
); |
|
Parameters
type
The data type
of each color index in the array using the following symbolic constants:
GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE.
stride
The byte
offset between consecutive color indexes. When stride is zero, the color
indexes are tightly packed in the array.
count
The number of
color indexes, counting from the first, that are static.
pointer
A pointer to
the first color index in the array.
Remarks
The
glIndexPointer function specifies the location and data of an array of
color indexes to use when rendering. The type parameter specifies the
data type of each color index and stride determines the byte offset from
one color index to the next, enabling the packing of vertices and attributes in
a single array or storage in separate arrays. In some implementations storing
the vertices and attributes in a single array can be more efficient than using
separate arrays. Starting from the first color-index element, count
indicates the total number of static elements. Your application can modify
static elements, but once the elements are modified, the application must
explicitly specify the array again before using the array for any rendering.
Non-static array elements are not accessed until you call glDrawArrays
A color-index
array is enabled when you specify the GL_INDEX_ARRAY constant
with glEnableClientState
You cannot
include glIndexPointer in display lists.
When you
specify a color-index array using glIndexPointer, the values of all the
function s color-index array parameters are saved in a client-side state and
static array elements can be cached. Because the color-index array parameters
are client-side state, their values are not saved or restored by glPushAttrib
Although no
error is generated when you call glIndexPointer within glBegin
The following
functions retrieve information related to glIndexPointer:
glIsEnabled with argument GL_INDEX_ARRAY
glGet
with argument GL_INDEX_ARRAY_STRIDE
glGet with
argument GL_INDEX_ARRAY_COUNT
glGet with
argument GL_INDEX_ARRAY_TYPE
glGet with
argument GL_INDEX_ARRAY_SIZE
glGetPointerv
with argument GL_INDEX_ARRAY_POINTER
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_ENUM
|
type was not an accepted value. |
GL_INVALID_VALUE
|
stride or count was negative. |
See Also