    // C function void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex )

    public static native void glDrawElementsInstancedBaseVertex(
        int mode,
        int count,
        int type,
        java.nio.Buffer indices,
        int instanceCount,
        int basevertex
    );

    // C function void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex )

    public static native void glDrawElementsInstancedBaseVertex(
        int mode,
        int count,
        int type,
        int indicesOffset,
        int instanceCount,
        int basevertex
    );

