(GLSL) Omni shadow blur filter revealing seams

I’ve been working on soft shadows. I am getting good results for Spot and Directional lights, but not point lights. I know why too. Point lights use 6 different cameras to achieve omni-directional shadows. This works really well most of the time, but when I’m blurring the shadows it reveals the seams where the edges of the different depth textures meet.

Point Light

Directional Light


We’ll cover cascading shadow maps shortly, have patience

Which space are you doing the blurring in?

Point-lights and directional lights (if more than 1 cascade) atlas their individual tiles. In the case of cube-maps that’s what the indirection cube is for - finding the tile. So you can’t blur or dither in shadow-texture-space without the risk of crossing the tile boundaries.

The directional light cascades have some extra fill / waste space (from frustum fitting) that would make the problem less readily presented, it’s probably still there though if cube-maps are doing it.

I guess we could use the same technique for blurring skyboxes?