Finally we have deferred lighting!

Deferred Lighting in the Playground map.

After a large amount of effort restructuring the engine into a deferred shading pipeline, it has finally been possible to implement point lights and spotlights through a deferred lighting pass. There is a reasonable performance hit with the switch to deferred shading, but individual lights are now quite cheap, so we should be able to build some pretty nice looking scenes.

Documentation for the new lights can be found at on the wiki.

The next step is to implement coronas so we can get a nice effect at the actual light location. There remains a lot more to do beyond that as well. We plan to implement a smooth fade out instead of the abrupt removal of the light, support for blinking / flickering lights (i.e. damaged neon tubes), support for turning off the lights during the day (with a bit of noise in the timings) and turning on/off the car lights when the car is not being driven. Car brake lights should also be possible soon. Finally, there should be some way of rendering emissive textures so we can render the actual ‘bulb’ of the light.

Discuss this post and more at the Game Engine Forum now.