I looked at the idea of caching a while ago, but decided there was no performance benefit. Take, for example, a square. Using tris, I would have to calculate 5 grandients and do 2 cache lookups. Using polys, I just calculate 4 gradients, no lookups.coelurus wrote:Fans/strips could be used to cache filling information, for example the expensive gradients. But ok, you wanted to keep it simple, for now...
The type of object which could benefit from triangles will not be used in this engine!
A convex polygon is always planar - and that is the only kind this engine (or any realtime 3D engine worth its salt) supports.Obj is a good choice for a general format, since pretty much any modeler can export to that.
Triangles are good because they are always planar. It's harder (impossible really) to determine how to split non-planar n-gons, n > 3, to give the effect artists want, while it is not impossible to merge adjacent planar tris.
I prefer the piping solution - it is cross platform and just as flexible. Build it into a GUI and you won't notice the difference.As the plugin-junkie I am, what about making a master program and write plugins that parses data to some independent storage?