Jump to content
  • Advertisement
Sign in to follow this  
Viik

Cascaded or parallel-split shadow maps Bounding Box slice selection

This topic is 3423 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
@ 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".

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
You want to check out the Cascaded Shadow Map article in ShaderX7 ... it should answer most questions regarding CSM.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!