Search code examples
openglvertex-buffergl-triangle-strip

Problem with degenerate triangles and GL_TRIANGLE_STRIP


I'm trying to draw multiple triangle strips with only one call to glDrawElements and my research on the matter tells me I need to use degenerate triangles. Maybe my understanding on the subject is wrong but I thought this should allow me to "jump" from a strip to another.

My whole code for this can be found on this recent question I posted, take a look there if you think it's relevant.

I'm basically trying to draw 2 quads(for simplification purposes) with 4 triangles of course, but separated from each other. For that I use indices like this:

unsigned int indices[] = { 0, 256, 1, 257, 257, 2, 2, 258, 3, 259 };

The first vertex of the first strip starts at 0 and the first vertex of the second strip starts at 256. This is the end result of this indices:

https://i.sstatic.net/6Q3FD.jpg

Is this correct or am I right in thinking that line "connecting" the 2 quads shouldn't be there at all?


Solution

  • The image shown is correct. This trick doesn't work for wireframes. If you were drawing filled triangles, the triangle with zero area wouldn't show up, but you're drawing outlines.