Quick screens: triplanar normal mapping
normal mapping graphics engine
Without shadows or post-process FX, the view in the first screenshot takes about 9-10 milliseconds for one frame using forward rendering and 4x MSAA, and 16 ms with deferred rendering. Shadow mapping remains a big GPU-heavy step, taking up to 25 ms in the process.
I also achieved my goal of making the forward renderer's output indistinguishable from the deferred renderer, at least without shadow support (the shadowing code has still not started for the forward renderer). The program can be written in a way to make both renderers switchable on the fly, which is useful when many dynamic lights enter the scene.
Edit: Some more screenshots, with better textures. These are free textures from FilterForge.
Next, I'll be starting the terrain editor in raising and lowering the elevation. The engine currently draws the terrain with geo clipmaps which just aren't working well enough for me. I will be switching to geo mipmapping.