Sunday, January 18, 2009

Update

Today I've moved sprites and 2D drawing over to shaders. This was a really nice thing to do, especially for 2D drawing, as it's enabled me to get rid of a lot of messy code that was required to support the weird way the fixed pipeline does colours (4 bytes packed into a DWORD). I'm aiming for a full shader implementation before I release this one.

The weird state change bug has now migrated to particles. I'm not going to invest the time required to track it down, as I'm moving everything to shaders anyway, where I'll have complete control over what goes in and out of the pipeline.

As I said before, but I believe it bears repeating, a move to shaders does NOT imply that DirectQ will suddenly start down the gratuitous effects route; I'm using them to replicate the classic Quake rendering effects only.

So given all of this work, where does DirectQ fit in the bigger scheme of things? I don't believe there's room for another general-purpose engine in the current state of things - both DarkPlaces and QRack are the logical culminations of where the engine coding community has been going these past 10 or so years. Both serve their purposes extremely well, and if they do what somebody wants there's no reason to switch from them.

The future for any development outside of those two is in special purpose engines. We've already seen this in the BJP engines and ProQuake, which cater to very specific needs. I believe DirectQ is another such engine, with it's goal to be a stable, ultra-high capacity engine, that will run well on cranky hardware that doesn't play nice with OpenGL. I'm writing it because that goal suits my own needs, but if it also suits anybody else's, it might be worth a check-out.

0 comments: