The reason why you wouldnt want to start a new strip every row is because if you do you cant use vertex buffers, which speed up performance ALOT. a few invisible triangles is nothing compared to the speed boost from VBO’s
Anyway, here is a better fuller explanation, note also that I couldnt actually look at the pics of the problem in action, so im not sure if im going on about the right thing, but i suspect i am
Ok, lets remember how triangle strips work. when you specify a new vertex, it will
make a triangle whose verteces are that vertex and the last two specified verteces.
Now, lets have a look at a terrain grid:
. . . .
. . . .
. . . .
number the verteces 1 throught to 12 from left to right top to bottom.
Now, say your rendering the terrain like this:
Enable triangle strips, look through the verteces like this:
1, 5, 2, 6, 3, 7, 4, 8, // end of first row of verteces, onto the next row
5, 9, 6, 10, 7, 11, 8, 12 // finished
I expect that this is kind of what you have been doing. This method will however
produce 1 long triangle stretching across the mesh. This is because, once at the end
of the first row we call verteces 4 and 8, we then call vertex 5, so this forms a
triangle, then there will be another triangle with verteces 8, 5, 9, since 9 is the
next vertex called.
To get rid of this you will have to insert incisivible triangles at the end of each row,
so your vertex calls will look like this:
1, 5, 2, 6, 3, 7, 4, 8, 8
5, 5, 9, 6, 10, 7, 11, 8, 12
Now, you still will be drawing 2 triangles across the entire mesh, but they will be invisible
since their width will be 0
Id like to caution you however that you might have problems with this and back face culling,
since doing this will make the 2nd row ccw if the first row is cw. To fix this, just do:
1, 5, 2, 6, 3, 7, 4, 8, 8, 8
5, 5, 9, 6, 10, 7, 11, 8, 12
Dont worry if you dont understand that last bit about backface culling, jsut i had that same
problem only recently.