Alright, I have checked your article and the paper mentioned (PSSM), thanks for the pointer.
So If I have well understood:
In a first time you render all the shadowmap for your game:
Render Shadowmap for projected ligt
Render Shadowmap for omni light with cubemap or multiple frustum
Render Cascaded Shadowmap for the sun light (with day and light cycle managed):
Here for the directional light representing the Sun
you render 4 Shadowmap for each 4 frustum slice transformed in light space in one texture (aka texture atlas)
Now render all gathered Shadowmap in a preprocess (Deferred Shadowing) -> Shadow collector
Render each Shadowmap collected from the viewer point of view and store the shadow factor in a screen-sized texture
Render Cascaded Shadowmap (Put the 4 light space matrix in constant register and select the right light projection to use via compare/dot product)
And store the shadow factor…
When you said to store shadow factor in r, g or b channel, you mean that the different shadow factor must not be blend together and should be left separated
Until they are use for lighting calculation ? So in the above description, spot light should be render in r channel and cascaded in g, then at lighting do two texture fetch ?
And I not understand why shadow collector is the z-prepass, don’t you need to do a z-prepass before to render in the shadow collector,
You can save a lot of compare and texture fetch or I missed something ?
Thanks for your help.
[mailto:email@example.com] De la part de Wolfgang Engel
Envoyé : mercredi 4 avril 2007 14:34
À : 'Game Development Algorithms'
Objet : Re: [Algorithms] Deferred shadow mask generation
Oh and the shadow collector pass is the Z pre-pass …
I heard that the Crytech engine2 use a specific technique they call “deferred shadow mask generation” for blend all shadow buffer in one shadow buffer
Then practice a “smart blur” on it to get soft shadows.
This mask is then reuse later to render shadow in the scene.
Anyone heard about a similar technique like this or have some information on how to gather many shadow buffer in one ?