Friday, November 1, 2013

Tech feature: Light Masking

So just wanted to give a swift information on a brand new function: light box masks.

When placing lights in some rooms, it is frequent that light bleeds through walls, and show up in other rooms close by. The apparent way to repair this is to add shadows, but shadows can be fairly costly (specifically for point lights), so it is not usually a viable remedy. In Amnesia we solved this by way of cautious placement, yet bleeding can be seen in some locations.

To repair this I added a new feature that is capable to limit the lights range with a box. This way the light can cast light as regular but is cut off just before reaching an adjacent region. This quite considerably does the job of shadows, but is significantly more affordable.

It turned out to be fairly straightforward to implement as nicely. In the renderer, different geometrical shapes are utilised to render lights (spheres for point lights and pyramids for spots) which make confident the light only affects needed pixels. To implement the masking, these shapes where just exchanged for a box and then with some little shader alterations it all worked.

With out masking:

With mask:

No comments:

Post a Comment