3DMark06, Cascaded Shadow Maps (CSM)

Started by
34 comments, last by wolf 18 years, 2 months ago
Hi everybody! Just read the 3DMark06 White Paper about Cascaded Shadow Maps... Link to pdf "This method works by dividing the view frustum in to 5 sections along the z-axis. Each section gets shadowed by a standard uniform 2048x2048 shadowmap." So if i get this right.., the shadow maps are placed from the near clip plane to the far clip plane along the z-axis (where each map is covering a larger area?), according to this image?? csm Did i understand this right? Has anyone implemented this? /Mike [Edited by - vx7johmi on January 19, 2006 8:09:42 AM]
Advertisement
I haven't seen the paper that you refer to, so I can't help you, but it sounded interesting so could you please link it ;)

Also.. 5 2048 maps? Won't that eat up about 2048*2048*4*5 = 80 MB VRAM? That's a lot of graphics memory :)

Thanks!
/Simon
From what I understand they just allocate one map and render to it many times every frame.
they 'only' use 16MB of video memory for CSM shadow maps, but another 24MB for the pointlights it seams ..

but how are they rendering there scene, when they are reusing the same texture everytime. They have to rerender every shadowmap, every frame, and can't store the ones in the distance .. strange. I doubt if that is better than LiSPSM.


Quote:but how are they rendering there scene, when they are reusing the same texture everytime.


Render SM1, render relevant shadow term result to main scene, render SM2, render relevant shadow term result to main scene, etc.
I thought one of the tricks of trade here is to update the shadow maps for example every 2 or 3 frame. This way you do not really kill so much bandwidth, but you have five maps lying around in memory.
If they use 16-bit depth buffers, it is not that much ... it should be 5 x 8 MB, which is 40 MB ... an amount that fits into a 512 MB graphics card easily.
To scale the whole approach you just decrease the shadow distance and only use two maps on slower hardware .. this is then 16 MB.

[Edited by - wolf on January 20, 2006 9:51:49 AM]
[q]they 'only' use 16MB of video memory for CSM shadow maps, but another 24MB for the pointlights it seams .. [/q]
Oh then they use the video memory of the second shadow map several times maybe? I mean you can skip rendering the third, fourth and/or fifth shadow map anyway based on viewing distance, but having them lying around for a few frames seems to be nice to me.
Did anyone implement this? I have it up and running.
I would be curious, how you select the shadow map based on viewing distance in the pixel shader in an efficient way :-)
Could you post a demo wolf?
Author Freeworld3Dhttp://www.freeworld3d.org
I am sorry I can't. The game is not announced.
But I am willing to talk about any aspect of the implementation.

This topic is closed to new replies.

Advertisement