Wednesday, September 9, 2009

Finally back to square one.

So the new mesh system is almost fully integrated (as much as the old one at least), including the new LOD system. As I said this new system is easier to use, in fact today I exported a simple model from Blender with two LOD levels:


I only ever tested the old LOD system with simple hand-made meshes, it would have taken a lot more work to get a mesh into it from a modeling program, so I'm happy with this. I'm still considering how (and whether) to implement smooth blending between the LODs (which was already working to a decent degree in the old system), but I think I'll leave that until later. On the plus side, this new system should be more efficient, is more modular, now supports binary files, and is much faster to load.

Saturday, September 5, 2009

One step forwards, three steps back

I've not been making much progress on my engine for a while. This was partly because I was cleaning up various bits of code, and partly because I was looking into programming for the PSP, and making early steps to prepare my engine to work on it. I found it would be necessary to change my mesh class, which I had previously put a lot of work into in order to support the cutting system and smooth LODing system.

The new system is simpler and slightly more memory efficient, and allows me to use vertex lists making it more efficient to render than my old system. However I will have to redesign my old cutting system if it is to work, that may add some overhead and may end up being less efficient than the old one. Also, the old smooth LODing system is out the window. The new LODing system I am writing (which simply uses different index lists with the same vertex list, far less innovative than my old one) will require a greater memory overhead (though still less than using seperate models) and in it's current form will not support smooth blending between the LODs - however, this is not because it can't, but because the old LOD system I designed was harder to model for and would require a lot of work writing tools to support, while this version will be much easier to model for and should not require any special tools. In the future I might expand the new system to support working the same way that the old one did, but right now I'll just keep it simple.

So it's going to be a little longer before I'm functionally back to where I was several weeks ago. The time has not been wasted, but the benefits aren't yet visible. That's the way it goes, right?