TRIANGLE_STRIP vs. TRIANGLE_FAN

Hello!

If you can, please help me. I’ve read some paper about triangle strip generation and realized that the way of triangulation affect the succeeding triangle strip generation. Is it right? As I experienced, some type of triangulation generates such triangle meshes what are not really usable for opengl TRIANGLE_STRIP.

Q1: is there any triangulation method definetly for SGI triangle strip generation algorithm?

Q2: there are some object in my meshes what I can describe easily as a TRIANGLE_FAN(for example a half circle), but generally the object meshes could describe as TRIANGLE_STRIPs. I could write a display function with an argument which specify how to handle incoming data stream(TRIANGLE_STRIP or TRIANGLE_FAN) for drawing. But if I do this way can a many times executed
[ code ] "if (triangle_strip_handling) draw_trifaces_like_a_strip();
else draw_trifaces_like_a_fan(); [ /code]

slow down the performance? Do you have any idea to handle this?

Thank You in advance!

i haven’t benchmarked it, but i would assume that they (strip & fan) are the same. they both take the first 3 vertices as a triangle, then each new vertex is another triangle. you transform the same number of vertices with either primitive.

jebus

dont quote me on this, but i think this is true: triangle strips are optimized at certain numbers for different platforms… so, if you are doing strips of lets say 8 (optimized), but only fans of 6… it would be better to mabey strip those, because it would be more efficient… anyway, might wanna benchmark it, they might have different optimization numbers…
sry for being no help at all =P

Thank you guys!
If there is no significant difference between FANs or STRIPs, I’m going to make it with STRIP and I can omit the “if statement” and maybe save some CPU time.

Brown