fglDrawArraysEXT(3G)
fglDrawArraysEXT - render primitives from array data
As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.15.
NAME fglDrawArraysEXT - render primitives from array data FORTRAN SPECIFICATION SUBROUTINE fglDrawArraysEXT( INTEGER*4 mode, INTEGER*4 first, INTEGER*4 count ) PARAMETERS mode Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. first Specifies the starting index in the enabled arrays. count Specifies the number of indices which should be rendered. DESCRIPTION fglDrawArraysEXT makes it possible to specify multiple geometric primitives with very few subroutine calls. Instead of calling an OpenGL procedure to pass each individual vertex, normal, or color, separate arrays of vertices, normals, and colors can be prespecified, and used to define a sequence of primitives (all of the same type) with a single call to fglDrawArraysEXT. When fglDrawArraysEXT is called, count sequential elements from each enabled array are used to construct a sequence of geometric primitives, beginning with element first. mode specifies what kind of primitives are constructed, and how the array elements are used to construct these primitives. If GL_VERTEX_ARRAY_EXT is not enabled, no geometric primitives are generated. Vertex attributes that are modified by fglDrawArraysEXT have an unspecified value after fglDrawArraysEXT returns. For example, if GL_COLOR_ARRAY_EXT is enabled, the value of the current color is undefined after fglDrawArraysEXT executes. Attributes that aren't modified remain well defined. Operation of fglDrawArraysEXT is atomic with respect to error generation. If an error is generated, no other operations take place. NOTES fglDrawArraysEXT may be included in display lists. If fglDrawArraysEXT 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. Static array data may be read and cached by the implementation at any time. If static array elements are modified and the arrays are not respecified, the results of any subsequent calls to fglDrawArraysEXT are undefined. Although it is not an error to respecify an array between the execution of fglBegin and the corresponding execution of fglEnd, the result of such respecification is undefined. fglDrawArraysEXT 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 fglGetString, when called with argument GL_EXTENSIONS, extension EXT_vertex_array is supported. ERRORS GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_VALUE is generated if count is negative. GL_INVALID_OPERATION is generated if fglDrawArraysEXT is called between the execution of fglBegin and the corresponding execution of fglEnd. SEE ALSO fglArrayElementEXT, fglColorPointerEXT, fglEdgeFlagPointerEXT, fglGetPointervEXT, fglIndexPointerEXT, fglNormalPointerEXT, fglTexCoordPointerEXT, fglVertexPointerEXT