So today I’ve made a few changes:
- vsMeshMaker no longer needs to specify the number of triangles in a model, before you start specifying those triangles. Means that it’s really easy to just toss triangles in without thought, and have it come up with an optimised model at the end.
- vsMesh can now output vsFragments, instead of outputting vsDisplayLists. If it outputs vsFragments, then the vsMesh may be deleted — all data storage is left in the vsFragments.
- MMORPG Tycoon 2’s procedural geometry algorithms now all use vsFragments, instead of vsDisplayLists. However, they keep the vsMesh objects around, for ease of editing and ease of collision detection.
The next bit that I need is probably a way to merge two vsFragments together (with an optional transform applied). This change would allow me to accumulate all of the geometry in a model into a single object, for rapid rendering.
For example, the trees in the earlier screenshots were each composed of about 30-40 objects, one for each branch and sub-branch. While this is great for a lot of things, it’s an awfully slow way to render the trees — really, I need to bake all of those vertices down into a single object, and then just render that.