Ok, time to rethink…
XML seemed like a good idea at the time but now I have it implemented in the engine, it’s butt slow. I’m going to have to look at other solutions.
The system I am working on right now is quite similar to the XML format (here is a sample representation of a cube). The vertex data is given in the form of what I call a “Vertrinity” (a trinity of position, normal vector and texture coordinates, 8 floating-point values delimited by a double colon ‘::’). I have a modified version of the old Blender exporter and a stand alone C++ parser which works great. Now I just have to integrate it into the engine. Yay.
Update 1:
It works! Models are now loaded using the new format and it is much faster. The rendering also seems to have sped up a bit but that may be a happy side effect. I am looking into using vertex buffers for storing the vertex data on the graphics card rather than in RAM for a bigger performance boost. I still need to get materials and maps using variants of the new format so I can eliminate TinyXML from the project (BTW, TinyXML is still a great library but it’s just a matter of using the right tool for the job). Anyways, enjoy a screenie
Update 2:
And now I have the new map format working! (see a sample here)


Leave a Reply