I am contemplating on writing a new low-tech rendering engine. I want something from which I can build games that have a more casual design and are available to a wider array of PC users out there. I do think that it is fairly safe to assume DirectX 8.1 / OpenGL 1.5 level hardware unless someone is sporting a TNT Rage or Voodoo card in their machine. Though this is completely possible, I don’t know how old of a machine I’d be willing to support. I have friends who still run Geforce 3 or 4 cards in their box, which means zero shaders or GPU memory buffers. I just don’t think I can rewind the clock that far unless I am trying to write a Nintendo DS wrapper.
One driving question I have right now is; OpenGL or Direct3D? Currently all of my PC technology is written in OpenGL. I don’t mind the state-based architecture and though it can be confusing at times, I’ve grown comfortable with it. Direct3D on the other hand has made some serious advancements and Microsoft is obviously pushing that API for PC and consoles. I am capable of using both but I’d rather only write one of them. I suppose, in the end, it may depend on the type of game. If I am designing a rendering system around all 3D sprite rendering then I could probably get something up and running more quickly using OpenGL’s immediate mode functions. This would also make the API more portable to low-end consoles like the NDS or PSP, and possibly even the Wii. Tough call =), maybe I should worry about the game first.