Triangle Strips

I have been looking to optimize my generated meshes by converting them to strips. I realise that I would need multiple strips on a mesh.

I have been looking at Hybrid mode but it said not all renderers are compatible.

The documentation isnt clear on this and I cant find anything on the wiki or forum, how would I go about placing multiple triangle strips in my mesh?

or is the msot efficient way to use an index to reduce vertices?


I don’t know what a strip (related to a mesh) is.
Any documentation is welcome.

You probably don’t want them… For most 3D geometry they are not as efficient as regular triangle lists.

Perhaps you can explain your problem in more detail?

I have no problem as such. I have been thinking about the number of duplicated vertices my generated meshes contain and have started to consider ways to make them more efficient. Creating indicies to share identical veticies is my initial solution but I wanted to explore triangle strips, hence, my search to find out how to define a number of strips in a single mesh.

If as you say, triangle strips dont offer the benefits then maybe they are not worth the effort.

guillaumevds, the link below is quite comprehensive on how the mesh data is put together.

Custom Mesh

In reading how the indicies are put together my concern in regard to me attempting to optimise my vertices is that the indicies apear to only include 3 values per triangle for both the verticies and texCoords. This means that any two adjacent triangles who could share the same vertice but have their own texcoord wouldnt be able to share the vertice in the way the indicies in this instance are configured, and will therefore defunk any optimisation attempt.

Is there something that I am not aware of that could enable some optimisation? like the ability to interlace texcoord indicies with the vert indicies? Would some bananapie help?


1 Like

In OpenGL this is a fact of life. It would slow the GPU down to have to jump all over a handful of different arrays rather than just streaming them in synch.

A “vertex” in OpenGL terms is not just a position. It’s all of the vertex attributes. So if you have pos + texCoord then a vertex would have to be the unique pos + texCoord. No way around it.

ok - that makes sense. It’s nice to have specific information like this.
Thanks very much.