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

glMultiModeDrawArraysIBM Subroutine

Purpose

Renders primitives of multiple primitive types from array data.

Library

OpenGL C bindings library: libGL.a

C Syntax

void glMultiModeDrawArraysIBM( GLenum *mode,
   GLint   *first,
   GLsizei *count,
   GLsizei primcount,
   GLint   modestride)

Description

The glMultiModeDrawArraysIBM subroutine behaves identically to glDrawArrays except that a list of arrays and a list of primitive modes is specified instead. The number of lists is specified in the primcount parameter. It has the same effect as:

        for(i=0; i < primcount; i++) {
           if (*(count+i) > 0) 
               glDrawArrays(*((GLenum *)((char *)mode+i*modestride)), 
                          *(first+i), 
                          *(count+i));
        }

Parameters

mode Points to an array of primitive modes. 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 Points to an array of the starting indices in the enabled arrays.
count Points to an array of the number of indices to be rendered for each primitive.
primcount Specifies the word size of the mode, first and count arrays.
modestride Specifies how to stride through the mode array. Typical values are 0 (single primitive mode for all primitives) and sizeof(GLenum) (separate primitive mode for each primitive).

Notes

The glMultiModeDrawArraysIBM subroutine is available only if the IBM_multi_mode_draw_arrays extension is supported.

The glMultiModeDrawArraysIBM subroutine is included in display lists. If glMultiModeDrawArraysIBM 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.

Error Codes

Related Information

The glArrayElement subroutine, glColorPointer subroutine, glColorPointerListIBM subroutine, glDrawElements subroutine, glEdgeFlagPointer subroutine, glEdgeFlagPointerListIBM subroutine, glGetPointerv subroutine, glIndexPointer subroutine, glIndexPointerListIBM subroutine, glInterleavedArrays subroutine, glMultiModeDrawElementsIBM subroutine, glNormalPointer subroutine, glNormalPointerListIBM subroutine, glTexCoordPointer subroutine, glTexCoordPointerListIBM subroutine, glVertexPointer subroutine, glVertexPointerListIBM subroutine.


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