I've refactored the rendering system in my engine.
The old way of rendering was complete in SDR.
In this update I created a separate off screen framebuffer that everything is rendered to first.
This offscreen framebuffer is a float framebuffer, and can store values outside of the normal [0,1] range.
This allows me to store realistic lighting values.
Before the imagine is rendered on screen, the offscreen framebuffer is put on the main framebuffer and mapped back to a [0,1] range using Reinhard tone mapping.
To make things look better I added a simple bloom implementation.
It just collects anything emitting light greater than some specified value.
A series of Horizontal and Vertical Gaussian blurs are applied to the high light value colors and then blended back onto the final image.
I also added normal maps to the rendering engine.
I added a fire effect behind the ship to give illusion that something is actually pushing the ship forward.