multiple strips in one render call


I’m looking for something that is similar to the ADC bit on the Playstation2.

Ie, if you have lots of small strips you can just tell the graphics card to render them all with one call to glDrawElements.

I’ve tried using degenerate triangles but with my data set it generates a much bigger data set than the unstripped version.

I looked at the extension register but couldn’t find anything (but that may be because I didn’t know what to look for).

Thankful for any advise.


The nv30 has that functionality. The extension is called “NV_primitive_restart”.

The other way of sending those more efficiently that I know of is using the extension “EXT_multi_draw_arrays”


void glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
void glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const * indices, GLsizei primcount);

(btw, this extension is severely broken with ATI 2.9.6 Linux drivers and I wasn’t able to see any performance improvement with nVidia drivers vs. a loop with calls to glDrawElements).


[This message has been edited by velco (edited 06-04-2003).]