Sign in to follow this  

Two shadow map questions

Recommended Posts

I have read many papers on shadow mapping, trying to gather all the good ideas together for my own shadows

Two things seem like good ideas to me, but I find no mention of them:

a) split scheme based on aspect ratios:

near = 1; far = 100;
a = far^(1/3) near^(2/3) - near;
b = far^(2/3) near^(1/3) - far^(1/3) near^(2/3);
c = far - far^(2/3) near^(1/3);
N[{a, b, c}]
Result: {3.64159, 16.9028, 78.4557}

this gives 3 sub-frustums with equal aspect ratios

b) projecting occluders outside of tight shadow frustum onto near plane, as opposed to wasting z resolution

is there any value in those ideas?

Share this post

Link to post
Share on other sites
The second idea (projecting to the near plane) was mentioned by the Bungie folks in (I think) Advances in Real-Time Rendering, 2009 (The SIGGRAPH course). I've seen many different discussions of how to choose frustum splits for cascades, although we usually end up doing it per-level or scene, so the artists can tweak the quality distribution to match up with how the scene geometry is distributed across the Z range.

Share this post

Link to post
Share on other sites
Both are good ideas. As for (a) you can also partition the frustum dynamically depending on where the camera is looking. That way you can allocate more resolution where you need to. As for the exact algorithm to do that, I think it will very game-specific and will need to be tweaked for the kind of game you are making.

Share this post

Link to post
Share on other sites
thanks for the comments

whilst looking for the bungie stuff I found "final_alex_siggraph.ppt" about LittleBigPlanet which is packed full of good ideas

here is the code for 4 way split:

near = 1; far = 100
a = far^(1/4)*near^(3/4) - near;
b = Sqrt[far]*Sqrt[near] - far^(1/4)*near^(3/4);
c = far^(3/4)*near^(1/4) - Sqrt[far]*Sqrt[near];
d = far - far^(3/4)*near^(1/4);
N[{a, b, c, d}]
{2.16228, 6.83772, 21.6228, 68.3772}

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this