Due to the screen space shadow pass the shadow is visible on back faced geometry. Perhaps we should occlude back faces. This means that we need the normal buffer during the shadow pass.
There are two ways how to do it:
- Re-use the EFFECT_NORMAL buffer
- Extract the normal from the depth buffer.
The normal buffer only contains the normals from the center pixel so might generate shadow-bleeding. The extraction from the depth buffer is less accurate, but accurate enough to do the job.