Renders primitives of multiple primitive types from array data.
OpenGL C bindings library: libGL.a
void glMultiModeDrawArraysIBM( GLenum *mode, GLint *first, GLsizei *count, GLsizei primcount, GLint modestride)
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)); }
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.
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.