'\" te '\"! tbl|eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp Jan 14 18:30 .ds Dm 01 drawarray .ds Xs 55233 5 drawarrays.gl .TH GLDRAWARRAYS 3G .SH NAME .B "glDrawArrays \- render primitives from array data .SH C SPECIFICATION void \f3glDrawArrays\fP( GLenum \fImode\fP, .nf .ta \w'\f3void \fPglDrawArrays( 'u GLint \fIfirst\fP, GLsizei \fIcount\fP ) .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\fIfirst\fP\ \ 'u \f2mode\fP Specifies what kind of primitives to render. Symbolic constants \%\f3GL_POINTS\fP, \%\f3GL_LINE_STRIP\fP, \%\f3GL_LINE_LOOP\fP, \%\f3GL_LINES\fP, \%\f3GL_TRIANGLE_STRIP\fP, \%\f3GL_TRIANGLE_FAN\fP, \%\f3GL_TRIANGLES\fP, \%\f3GL_QUAD_STRIP\fP, \%\f3GL_QUADS\fP, and \%\f3GL_POLYGON\fP are accepted. .TP \f2first\fP Specifies the starting index in the enabled arrays. .TP \f2count\fP Specifies the number of indices to be rendered. .SH DESCRIPTION \%\f3glDrawArrays\fP specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL procedure to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and colors and use them to construct a sequence of primitives with a single call to \%\f3glDrawArrays\fP. .P When \%\f3glDrawArrays\fP is called, it uses \f2count\fP sequential elements from each enabled array to construct a sequence of geometric primitives, beginning with element \f2first\fP. \f2mode\fP specifies what kind of primitives are constructed, and how the array elements construct those primitives. If \%\f3GL_VERTEX_ARRAY\fP is not enabled, no geometric primitives are generated. .P Vertex attributes that are modified by \%\f3glDrawArrays\fP have an unspecified value after \%\f3glDrawArrays\fP returns. For example, if \%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is undefined after \%\f3glDrawArrays\fP executes. Attributes that aren't modified remain well defined. .SH NOTES \%\f3glDrawArrays\fP is available only if the GL version is 1.1 or greater. .P \%\f3glDrawArrays\fP is included in display lists. If \%\f3glDrawArrays\fP is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. .SH ERRORS \%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value. .P \%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative. .P \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawArrays\fP is executed between the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP. .SH SEE ALSO \%\f3glArrayElement(3G)\fP, \%\f3glColorPointer(3G)\fP, \%\f3glDrawElements(3G)\fP, \%\f3glDrawRangeElements(3G)\fP, \%\f3glEdgeFlagPointer(3G)\fP, \%\f3glGetPointerv(3G)\fP, \%\f3glIndexPointer(3G)\fP, \%\f3glInterleavedArrays(3G)\fP, \%\f3glNormalPointer(3G)\fP, \%\f3glTexCoordPointer(3G)\fP, \%\f3glVertexPointer(3G)\fP