Jump to content
  • Advertisement
Sign in to follow this  

Cascaded Shadow Maps

This topic is 998 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



I'm trying to switch from my basic shadow mapping to CSM so I can have decent quality shadows covering my terrain.


I think I understand the concept after lots of reading but I'm struggling with the specifics.


How am I meant to be writing the values to the depth buffer? Currently for my simple shadow mapping I'm just writing out z/w (z position comes from position multiplied by WorldViewProj).


Now from the example code I'm reading the cascades are partitioned from 0-1 depth using slides like 0-0.2 then 0.2-0.5 then 0.5-1 or similar. Now when I check my depth buffer in final rendering and do something like:


if (depth > 0.5f)

   OutputColor.g += 0.5;


   OutputColor.r += 0.5;


I'd expect everything to be tinted red near the camera and tinted green about halfway from the camera to the far clip plane.


Unfortunately its just all green. It seems I have to do depth > 0.92 or so before it makes any difference.


Any ideas what I'm doing wrong?


Update: I found my nearclip was too close (0.1f) after reading a good article about depth buffers. Moving it a little further away to 5 made me at least be able to use 0.9-1 in fairly sensible chunks.


If I just use my depth buffer is it is not I can divide it to 0-0.9 for the cascade near the player, 0.9-0.95 is the mid-distance/medium quality cascade and 0.95-1 is the low quality cascade for everything further away than that.


Is there some reason I can't do CSM like that? Do I have to use linear depths?


Here's a screen shot of my "cascades"



Edited by skyemaidstone

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!