Rendering 500 real-time lights in the Blender Game Engine

Martins writes:

My try implementing a deferred shading system in Blender Game Engine, made possible with UPBGE branch and custom FBOs.

This presentation shows 500 dynamic light sources. I am calculating diffuse, specular and light scattering passes.
custom buffers:

  • 32 bit position buffer
  • 16 bit normal buffer
  • 8 bit diffuse color buffer
  • combined in 32 bit composite and processed using a tonemapping operator (by John Hable of filmicgames)
  • FXAA post process antialiasing

Performance depends on screen size.

About UPBGE:

UPBGE (Uchronia Project Blender Game Engine) is a fork of Blender created by Porteries Tristan (a Blender Game Engine developer) and some of his friends in September 2015.

It’s an independant branch, and its aim is to clean up and improve current BGE code, experiment with new features, and implement forgotten features that currently exist but have not been merged with the official Blender trunk.

Its development cycle spans the course of one month: 3 weeks to add new features, and 1 week to fix bugs. Then a new release is made available for download.

Regularly, the UPBGE merges the official Blender new patches, to stay up-to-date with the last Blender evolutions.

The UPBGE team is composed of volunteers; BGE users who are interested in the game engine development, a web developer, and a communication manager.

Advertisement