'\"! tbl|eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 6 March 1997 .ds Re Release 1.1.0 .ds Dp Mar 17 18:04 .ds Dm Mar 6 20:0 .ds Xs 8405 8 colorpointer.gl .TH GLCOLORPOINTER .SH NAME .B "glColorPointer \- define an array of colors .SH C SPECIFICATION void \f3glColorPointer\fP( GLint \fIsize\fP, .nf .ta \w'\f3void \fPglColorPointer( 'u GLenum \fItype\fP, GLsizei \fIstride\fP, const GLvoid \fI*pointer\fP ) .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\fIpointer\fP\ \ 'u \f2size\fP Specifies the number of components per color. Must be 3 or 4. .TP \f2type\fP Specifies the data type of each color component in the array. Symbolic constants \f3GL_BYTE\fP, \f3GL_UNSIGNED_BYTE\fP, \f3GL_SHORT\fP, \f3GL_UNSIGNED_SHORT\fP, \f3GL_INT\fP, \f3GL_UNSIGNED_INT\fP, \f3GL_FLOAT\fP, and \f3GL_DOUBLE\fP are accepted. .TP \f2stride\fP Specifies the byte offset between consecutive colors. If \f2stride\fP is 0, (the initial value), the colors are understood to be tightly packed in the array. .TP \f2pointer\fP Specifies a pointer to the first component of the first color element in the array. .SH DESCRIPTION \f3glColorPointer\fP specifies the location and data format of an array of color components to use when rendering. \f2size\fP specifies the number of components per color, and must be 3 or 4. \f2type\fP specifies the data type of each color component, and \f2stride\fP specifies the byte stride from one color to the next allowing vertexes 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 \f3glInterleavedArrays\fP.) .P When a color array is specified, \f2size\fP, \f2type\fP, \f2stride\fP, and \f2pointer\fP are saved as client-side state. .P To enable and disable the color array, call \f3glEnableClientState\fP and .br \f3glDisableClientState\fP with the argument \f3GL_COLOR_ARRAY\fP. If enabled, the color array is used when \f3glDrawArrays\fP, \f3glDrawElements\fP, or \f3glArrayElement\fP is called. .SH NOTES \f3glColorPointer\fP is available only if the GL version is 1.1 or greater. .P The color array is initially disabled and isn't accessed when \f3glArrayElement\fP, \f3glDrawArrays\fP, or \f3glDrawElements\fP is called. .P Execution of \f3glColorPointer\fP is not allowed between the execution of \f3glBegin\fP and the corresponding execution of \f3glEnd\fP, but an error may or may not be generated. If no error is generated, the operation is undefined. .P \f3glColorPointer\fP is typically implemented on the client side. .P Color array parameters are client-side state and are therefore not saved or restored by \f3glPushAttrib\fP and \f3glPopAttrib\fP. Use \f3glPushClientAttrib\fP and \f3glPopClientAttrib\fP instead. .SH ERRORS \f3GL_INVALID_VALUE\fP is generated if \f2size\fP is not 3 or 4. .P \f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value. .P \f3GL_INVALID_VALUE\fP is generated if \f2stride\fP is negative. .SH ASSOCIATED GETS \f3glIsEnabled\fP with argument \f3GL_COLOR_ARRAY\fP .br \f3glGet\fP with argument \f3GL_COLOR_ARRAY_SIZE\fP .br \f3glGet\fP with argument \f3GL_COLOR_ARRAY_TYPE\fP .br \f3glGet\fP with argument \f3GL_COLOR_ARRAY_STRIDE\fP .br \f3glGetPointerv\fP with argument \f3GL_COLOR_ARRAY_POINTER\fP .SH SEE ALSO \f3glArrayElement\fP, \f3glDrawArrays\fP, \f3glDrawElements\fP, \f3glEdgeFlagPointer\fP, .br \f3glEnable\fP, \f3glGetPointerv\fP, \f3glIndexPointer\fP, \f3glInterleavedArrays\fP, \f3glNormalPointer\fP, \f3glPopClientAttrib\fP, \f3glPushClientAttrib\fP, \f3glTexCoordPointer\fP, \f3glVertexPointer\fP