Current state of ClusteredDeferred shading and OnePassProjection for VSMs

Hi Fedor,

Thanks for reaching out. Could you share the project you used to test the One Pass Projection (OPP) feature? The feature is still being marked as experimental, so it could be that the setup you have is hitting an unexpected edge case. As for your other questions:

Is using the combination of OnePass projection + ClusteredDeferred is a generally recommended thing?

Yes, you will need to have ClusterDeferred shading enabled to use OPP.

What is the deferred shading algorithm when not using deferred clustered? Is it a tiled version of deferred or is the renderer doing fullscreen passes for each local light?

Without OPP, the shading of local lights will be handled using our standard shading path. This means that each local light will have to be projected into the scene and accumulated in an unbatched fashion, which can become costly the more local lights you add to your scene.

The documentation mentions that adjusting r.Shadow.Virtual.OnePassProjection.MaxLightsPerPixel allows the additional lights to fallback to an inexpensive single hard shadow lookup algorithm. In my testing, I’ve seen shadows from lights completely disappear instead, where as I was expecting them to be still present in the scene without doing any SMRT. Is this normal behavior for this setting?

Please share the project in this case so we can see if there is an issue in the OPP code. If you have any further questions, please feel free to reach out.

Cheers,

Tim