back  Return to list

GL_EXT_multi_draw_arrays
homeprevnext Name
  
    EXT_multi_draw_arrays  
  
homeprevnext Name Strings
  
    GL_EXT_multi_draw_arrays  
  
homeprevnext Version
  
    $Date: 1998/04/03 04:35:50 $ $Revision: 1.1 $  
  
homeprevnext Number
  
    148  
  
homeprevnext Dependencies
  
    OpenGL 1.1 is required. The language is written against the OpenGL 1.2  
    specification.  
  
homeprevnext Overview
  
    These functions behave identically to the standard OpenGL 1.1 functions  
    glDrawArrays() and glDrawElements() except they handle multiple lists of  
    vertices in one call. Their main purpose is to allow one function call  
    to render more than one primitive such as triangle strip, triangle fan,  
    etc.  
  
homeprevnext New Procedures and Functions
  
    void glMultiDrawArraysEXT( GLenum mode,  
                               GLint *first,  
                               GLsizei *count,  
                               GLsizei primcount)  
    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           Points to an array of starting indices in  
                        the enabled arrays.  
  
        count           Points to an array of the number of indices  
                        to be rendered.  
  
        primcount       Specifies the size of first and count  
  
  
    void glMultiDrawElementsEXT( GLenum mode,  
                                 GLsizei *count,  
                                 GLenum type,  
                                 const GLvoid **indices,  
                                 GLsizei primcount)  
  
    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.  
  
        count           Points to and array of the element counts  
  
        type            Specifies the type of the values in indices.  
                        Must be  one  of GL_UNSIGNED_BYTE,  
                        GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.  
  
        indices         Specifies a  pointer to the location where  
                        the indices are stored.  
  
        primcount       Specifies the size of the count array  
  
homeprevnext New Tokens
  
    None  
  
homeprevnext Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation)
  
    Section 2.8 Vertex Arrays:  
  
    The command  
  
        void glMultiDrawArraysEXT( GLenum mode,  
                                   GLint* first,  
                                   GLsizei *count,  
                                   GLsizei primcount)  
  
    Behaves identically to DrawArrays except that a list of arrays 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) DrawArrays(mode, *(first+i), *(count+i));  
        }  
  
    The command  
  
        void glMultiDrawElementsEXT( GLenum mode,  
                                     GLsizei *count,  
                                     GLenum type,  
                                     const GLvoid **indices,  
                                     GLsizei primcount)  
  
    Behaves identically to DrawElements except that a list of arrays 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) DrawElements(mode, *(count+i), type,  
                                           *(indices+i));  
        }  
  
homeprevnext Additions to Chapter 3 of the 1.2 Specification (Rasterization)
  
    None.  
  
homeprevnext Additions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations and
  
    None.  
  
homeprevnext Additions to Chapter 5 of the 1.2 Specification (Special Functions)
  
    None.  
  
homeprevnext Additions to Chapter 6 of the 1.2 Specification (State and State Requests)
  
    None.  
  
homeprevnext Additions to the GLX Specification
  
    None.  
  
homeprevnext GLX Protocol
  
    None.  
  
homeprevnext Errors
  
    GL_INVALID_ENUM is generated if <mode> is not an accepted value.  
  
    GL_VALUE is generated if <primcount> is negative.  
  
    GL_INVALID_OPERATION is generated if glMultiDrawArraysEXT or  
    glMultiDrawElementsEXT is executed between the execution of glBegin  
    and the corresponding glEnd.  
  
homeprevnext New State
  
    None.  
  
  
  
  
Valid XHTML 1.1! Valid CSS! Last update: November 14, 2006.
Cette page doit être lue avec un navigateur récent respectant le standard XHTML 1.1.