Submitted by , posted on 28 October 2001

Image Description, by

I've gone and completely rewritten the Solace rendering pipeline to support shaders, rather than having a few hardcoded operations.

(Sorry about the lack of texture filtering, but these particular screenshots were taken on a software OpenGL implementation and I didn't want it to be even slower than usual.)

Every object is split up into three parts - "base" (for opaque things which don't rely on lighting such as reflectionmapping), "light" (for opaque things which do rely on lighting), and "blend" (for transparent effects, which are deferred until later). Each shader pass contains a mesh, a texture, a lighting material, an operation (solid, wireframe, or outline, where wireframe and outline can also have a thickness specified), an alpha test function, and a blend function.

As has always been the case, the engine can scale back the rendering quality to try to maintain a constant framerate. At the displayed quality on a Duron 850 with G400 I get about 30fps, though at 60fps it's passable and with quality turned down all the way it actually peaks at 500fps (though the shapes look pretty basic at that point). For slower machines, options can be further disabled (for example, limiting the number of shader passes).

As usual, I have a whole bunch left to implement on this. For example, mesh functors (my generic mechanism for modifying mesh data for things like environment mapping, morphing, and other fun stuff to follow), coming up with and implementing a mechanism for representing physics engine stuff, putting shadows back in, and working more on the network transport so I can actually make the game I've been planning all along for this engine. :) (It's an MMORPG which I've been planning etc. since long before the term 'MMORPG' existed.)

In any case, if you're running Linux on an x86 processor and have a working OpenGL installed, you can actually check it out for yourself at (about 1.7 MB).

Enjoy. :)

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.