I've been refining and expanding my cascaded shadow mapping (as a by-product of chasing LOD transition issues as detailed in this topic: https://www.gamedev.net/forums/topic/714679-lod-transition-shadow-artifacts/5458092/). I've implemented and have several variations and additions working to various degrees (back-face shadow generation, normal offset bias, etc.), and it's raised some practical questions about what parameters/techniques are most useful, and in what combination. I'm curious to hear your own experiences, specifically as it relates to the following:
1) When using face normal offset on the shadow-receiving geometry (scaled by its angle to the shadow-casting light), which seems to do a pretty great job of minimizing shadow acne, do you still utilize depth bias and/or slope-scaled depth bias during shadow generation? Most examples I've seen don't, and it seems the face normal offset is performing a similar function to slope-scaled depth bias, just on the receiving geometry (and thus at a more precise granularity). I continue to do a per-cascade depth bias applied manually on shadow-receiving geometry, but slope-scaled depth bias on generation is an open question. Perhaps there's value in keeping it that I'm overlooking? Obviously, one is based on the slope of the receiving geometry, and the other is based on the slope of the shadow-generating geometry, so I'm scrunching my face thinking of how that combo might interact and provide value.
2) Also regarding face normal offset, is there any value in specifying per-cascade values for the normal offset scaling factor? That obviously greatly depends on what units you are basing things off of. If one is automatically scaling things based on shadow texel size, then a single scaling factor seems sufficient. It's also common to automatically apply a cascade scaling factor to it. However, maybe there's additional benefit for tweaking this per cascade? What's your experience?
3) When doing back-face shadow generation, biases are essentially weighted/constructed to favor being in shadow versus being un-shadowed. It also seems to me that the assumption that your shadow-generating geometry is "back face watertight" also implies a thickness that might just make a raw depth bias more-or-less unnecessary (ignoring double-sided geometry as an exception). What's your experience in switching from front-face to back-face shadow generation, as it relates to bias values?