Real-time radiosity: Self-emitting surfaces


The beauty of the approach I’m using lies in the fact that adding self-emitting surfaces to the system does not increase the time needed to calculate the lighting solution. The simulation of the indirect lighting transfer is exactly the same as before, the only thing that has been changed is the addition of emissive properties of surfaces being fed into the radiosity system.

Additionally, unlike other approaches which try to simulate bounced light from self-emitting surfaces using local fill lights, this approach is completely independent on the number of emissive surfaces. It literally only is a single term which needs to be added to the direct lighting.

In the following screenshots, one of the blue curtains has been painted with a fluorescent green color, making it emit green light. The curtain still reflects blue light though, resulting in (blue) color bleeding onto surrounding surfaces – keep in mind that reflectivity and emissivity are two distinct properties!

Self-emitting curtain

Curtain emitting a strong, green light.


Self-emitting curtain and sun light

Self-emitting curtain, giving off green light while reflecting blue light.


As can be seen in the second screenshot, emission can of course be combined with any other means of direct lighting. In this case, bright sunlight hits the curtain, resulting in a turquois appearance.

Like the albedo (reflection coefficient) of a surface, emission of a surface can also be changed in real-time, without changing the performance characteristics of the radiosity system. In the hands of a good game designer, I believe that this allows for interesting gameplay mechanics akin to the real-time painting of surface properties in Epic Mickey.

Leave a Reply


You are commenting using your account. Log Out /  Change )

Google photo


Twitter picture


Facebook photo


Connecting to %s
