Triangle Strips? Any advantage with blitz.

Blitz3D Forums/Blitz3D Beginners Area/Triangle Strips? Any advantage with blitz.

AdrianT(Posted 2005) [#1]
Was just wondering if there are any benefits in taking triangle strips into consideration when modeling for Blitz3D.

Anyone done any tests, main reason I'm asking is that with stripping, sometimes it's better to have more polys, and not remove all hidden polys if they hold the model together when striping and doesn't subdivide an object into more strips.

Might only be beneficial on older GPU's as newer engines often handle these things differently. Thought I'd ask incase anyone knows how this related to Blitz3D.


Shambler(Posted 2005) [#2]
I think only Mark would know the answer to this one because it involves knowledge of exactly how Blitz sends triangles to be rendered.

I would assume there would be no benefit in Blitz unless your graphics driver was clever enough to do something about it.

Normally if you want a card to render triangle strips you have to tell it that you are rendering strips.

You are right about using fewer strips by using a hidden triangle to stitch 2 strips together, I remember reading this before, I think they called them 'degenerate' triangles.

You could try testing it to see, but I would not expect a performance gain in Blitz.


AdrianT(Posted 2005) [#3]
I guess I'll have to experiment and see. I also doubt that it will make much difference in Blitz3d. Something to play with in Bmax though.

Wonder what happened to Antony lol.


Ross C(Posted 2005) [#4]
What is a Triangle Strip? :o)


Shambler(Posted 2005) [#5]
A triangle strip is a group of triangles where each one shares 2 vertices with the last one.

So for example
triangle 1 would use verts 0,1,2
triangle 2 would use verts 1,2,3
triangle 3 would use verts 2,3,4
and so on.

Reusing verts like this speeds up rendering because the transformed (rotated and translated) verts can be stored in a fast cache area on the graphics card and don't need to be transformed again.

You have to tell DirectX that you are sending it verts in triangle strip order and you have to break your model down into strips.

I believe NVidia had a free tool for breaking a model into strips for you so that was a no brainer.


Bot Builder(Posted 2005) [#6]
I doubt mark optimized strips. After all, every surface is a seperate glbegin/glend and a seperate texture state change. If he didn't optimize that I doubt he'd optimize strips.

Even bette rthan strips would be sisplay lists and vertex buffers which im pretty sure he also didn't use.