Lamorna engine is intended to run low fidelity games for the PC. At it’s heart is a software renderer that motors a moderate scene along quite nicely. This features a triangle binner, hierarchical rasteriser and an index buffer for zero overdraw in the shaders. As this is software rendering there is no theoretical limit on shader complexity, but at this stage the engine manages bilinear filtering on all textures, and texture blending on some model surfaces. The engine relies heavily on SSE2 vectorisation and multi-threading. It has a spatial sound system, and a basic collision scheme that is limited to axis aligned surfaces.
The engine is reasonably well formed at this stage, with the rendering system being the most mature, having received a lot of attention over the last few years, and the sound system being the most recent. There is plenty of room for improvement both in performance and implementation in all engine systems, and I’m looking forward to exploring that over the coming months.
My goals for the engine are quite modest. I’d like a lightweight game engine with sufficient performance to run something of Quake 2/3 complexity without video acceleration. I want as low a barrier to play as possible, so a bunch of data files accompanying an .exe, no installation process.