Cascaded or parallel-split shadow maps Bounding Box slice selection

Started by
19 comments, last by B_old 14 years, 11 months ago
On last GDC, Johan Andersson explained their approach on stabilizing cascaded shadow maps in Frostbite. I saw only slides. Stabilization part is quite clear to me, but I can't understand from slides how Bounding Box slice selection is done. Dose anybody have more information about that or explaine how it works? Btw, what is the principal difference between cascaded and parallel-split shadow maps?
Advertisement
Quote:Btw, what is the principal difference between cascaded and parallel-split shadow maps?
There is none. The word Cascaded Shadow maps describes how the light view frustums slice up the view frustum if you look at them from above in 2D ... it just looks like a cascade. Parallel-Split Shadow maps describe a way to calculate the distance from the camera of each of those slices and how to split them up. It is a way to divide a view frustum in slices. It is an algorithm to calculate splits dynamically.
@ Ahh, now I see. Thank you for explanation.
You've mentioned ones on forum, that you did Bounding Sphere slice selection (Killzone2) for shadow map lookup. Looks like it greatly improves utilization of shadow maps. Can you explaine how it's done? If its not a "trade secret".
Using bounding spheres greatly simplifies the usage of Cascaded Shadow Maps. It is just easy to think of the light view frustum to rotate around a sphere enclosing a frustum split like a joint.
You want to check out the Cascaded Shadow Map article in ShaderX7 ... it should answer most questions regarding CSM.
Agreed, the sphere techniques have worked very well for us. One thing to be careful about is the FOV of your camera. Everything will continue to work fine, but if your camera has a wide FOV, the bounding spheres will be very large. In some cases, you can use this to your advantage to make the shader logic for picking the correct cascade even faster.

Personally, though, I think the most important feature missing from 90% of all CSM implementations is blending between splits. I pay close attention to the light and shadow implementations in every game I play, and nearly every title (including major AAA stuff) has terrible seams between splits. It's not *that* hard to blend across a short distance, and the visual improvement is drastic.
Quote:Original post by osmanb
Personally, though, I think the most important feature missing from 90% of all CSM implementations is blending between splits. I pay close attention to the light and shadow implementations in every game I play, and nearly every title (including major AAA stuff) has terrible seams between splits. It's not *that* hard to blend across a short distance, and the visual improvement is drastic.


*shrug*

I wouldn't classify it as important. I really really doubt anybody notices it...heck I don't even notice it unless I'm looking for it.
Yeah, I guess I'm really focused on that right now, because I've been working on it. And really, the lack of shimmer from camera movement is far more important. These are all solved problems, and we continue to see major titles ship with first-year student project quality shadow mapping. It's actually sort of pathetic how bad most CSM implementations are.
Quote:Original post by osmanb
Agreed, the sphere techniques have worked very well for us. One thing to be careful about is the FOV of your camera. Everything will continue to work fine, but if your camera has a wide FOV, the bounding spheres will be very large. In some cases, you can use this to your advantage to make the shader logic for picking the correct cascade even faster.

Sorry for hijacking the thread, but I stumbled over this sphere technique a couple of times but can't find more detailed info on it. It would be cool if someone could shed some more light on this.

I implemented it based on information from the ShaderX6 article "Stable Rendering of Cascaded Shadow Maps." I think the ShaderX7 article that Wolf mentioned above supercedes that one, (and includes more details on some of the tricky bits).

This topic is closed to new replies.

Advertisement