Difference between SDSM and PSSM?

Started by
14 comments, last by MJP 9 years ago

I'm doing the reduction from the camera depth buffer.

Is it needed to do one pass of depth buffer from the light position ?

If yes, an AABB is needed to be computed to have the distance to move the light position for the depth buffer pass ?

Advertisement

I'm doing the reduction from the camera depth buffer.

Is it needed to do one pass of depth buffer from the light position ?

If yes, an AABB is needed to be computed to have the distance to move the light position for the depth buffer pass ?

Basically camera depth buffer contain all visible shadow receivers. These are only samples that you need for correct shadows. So you want to take this information and use it for more optimal shadow bounds.

Yea that works good, but if a wall is behind the camera, the min max is so much tight you got problems, the shadow is cutted for example.

This is why I'm asking for a solution if one exist.

Yea that works good, but if a wall is behind the camera, the min max is so much tight you got problems, the shadow is cutted for example.

This is why I'm asking for a solution if one exist.

Stuff behind camera can't exist in depth buffer. What is the problem exactly?

The bad shadow because the actor is behind the camera :

http://zupimages.net/up/15/15/bdpz.png

The good shadow because the camera is behind the actor :

http://zupimages.net/up/15/15/i48g.png

This only happens when your shadow casters are clipped, due to not lying within the Z extents of your shadow projection. The common way to fix this is to use "pancaking", where you force force outlying triangles to get rasterized with depth = 0.0. It can be done easily in the vertex shader by forcing the output Z component to be >= 0, or in D3D11 you can do it by creating a rasterizer state with "DepthClipEnable" set to "false".

This topic is closed to new replies.

Advertisement