Fully Flexible Indirect Lighting... Is it even possible?
Members - Reputation: 357
Posted 30 December 2013 - 02:35 PM
I recently did an experiment with Mario Kart 7, when I drove inbetween a cave and an outdoor lit area, and I noticed that the Player only gets illuminated by one of the ambient lights instead of 2. If the Player drives slowly into a cave, the ambient light interpolates Very quickly to the next ambient light, affecting the entire object.
I understand how people solve this problem with static objects, they just bake the ambient light, but how would one fully and dynamically calculate ambient light for objects at runtime?
Crossbones+ - Reputation: 1899
Posted 31 December 2013 - 01:28 AM
You could look for slides of Far Cry 3 and their implementation of indirect lighting. Although, as far as I know, they a bit different method for indoors scenes, because the indoor geometry requires very precise indirect lighting to prevent light bleeding.
If you use only one light probe per object, then you'll run into issues of big objects crossing light boundaries. The problem becomes more evident in the situation you describe. For small objects, a simpler method may be enough since the indirect lighting has typically quite low frequency.
In Far Cry they store the indirect lighting data inside volume textures and this way they are able to evaluate the indirect lighting per pixel, so their method solves the problem you describe.