In the last blog post someone asked about why I’ve been working on adding a software renderer to the XL Engine. Instead of answering in place, I thought it would be a better idea to make a post to explain my reasons and talk a bit about the upcoming Tiered Releases.
Firstly I’ll give a list of some of my reasons, in no particular order:
* Support for systems with poor video card drivers or with a stronger CPU then GPU.
* Much closer emulation of the original rendering style – such as 8 bit color depth, true colormap support and so forth. To emulate these features in hardware require higher-end GPUs. By using CPU rendering, low-end systems can properly emulate the original rendering style.
* The 8-bit renderer will be used as a “reference renderer.” By emulating the original renderers in software (except for buggy issues), it will be easier to make sure everything matches up and will ultimately help make sure the OpenGL renderer is more authentic. Of course extended features will still be supported, but they will be layered on top of a more authentic working base.
The next release will support both software and OpenGL rendering. The 8-bit software renderer will be used to tune all the rendering (to fix the areas that weren’t quite right in DaggerXL version 0.199), which will be used to guide the emulation under fixed function OpenGL and of course the shader pipeline.