| | 223 | |
| | 224 | == INDEX_MESH == |
| | 225 | |
| | 226 | INDEX_MESH transforms polygonal geometry into an indexed triangle mesh with shared vertex attributes. Quads, triangle strips, triangle fans, and polygons are replaced by triangles. The result is in the !DrawElements form that stores indices into arrays of vertex attributes. This optimization can reduce the storage space of a mesh and collapse several primitive sets into one. |
| | 227 | |
| | 228 | == VERTEX_POSTTRANSFORM == |
| | 229 | |
| | 230 | Optimize the order of triangles in a !DrawElements mesh to reduce cache misses in the GPU post-transform cache. This can significantly improve rendering time; see [http://shiny-dynamics.blogspot.com/2010/03/vertex-cache-optimization-for-osg.html this blog entry] for details. |
| | 231 | |
| | 232 | == VERTEX_PRETRANSFORM == |
| | 233 | |
| | 234 | Change the order of vertex attributes to reflect their first use in the triangles of a mesh so that vertices that are used in early triangles come first in the vertex attribute arrays. This optimizes cache misses in the GPU pre-transform cache. This optimization should usually be run together with VERTEX_POSTTRANSFORM. |