new shadow mapping approach

i’ve resently found a new simple approach for doing shadow mapping with increased resolution near the observer. i’ve describt the algorithm on my homepage please try it out and post your results in this thread

it looks very interesting…
i would like to try it out, but i don;t have the time to code it.
does it work only with directional lights only ?

Well you can still apply the rotations and scalings to point light, but not the translation matrices.

so far i only considered directional lights. when i find the time i will work out the math for the point lights. you are back in a post-perspective space (like perspective shadow maps) so this could become trickier and less robust.

It’s reminiscent of projective shadow maps, they required some totally whacked double projection, but give very good resolution.

[This message has been edited by dorbie (edited 01-16-2004).]

i’ve worked with perspective shadow maps, but i couldn’t get them running stable see my homepage for some experiences with them


so i tried to avoid post-perspective-space at all in my approach.

Looks interesting. Still gives bad resolution when the lightsource is in front or behind the viewer, right?

Nevertheless, good work. I think I’ll try to add this to my engine to see how it looks.


>Still gives bad resolution when the light source is in front or behind the viewer, right?

absolutely right.
this is because some far-plane-side-corner-points are way nearer(have a lower y-value) than the near-plane-corner-points of the eye view frustum in the light space. in this case the resolution of the shadow map is greatly reduced.

but i think the problem is only complicated to solve in scenes with great eye space y-direction range(higher than your near to far distance for instance), in any other case you just use an optimized eye view frustum. one with a far distance as small as possible (with visibility culling or simple intersection with the scene bounding planes).
especially the looking down and away from the light source case, is easily solved this way in a walking scenario, because you can limit the eye view frustum to the intersection with the ground.
this applies for the looking up and toward the light source case too, but you need a scene top plane, which in a walking scenario is further away, so the results are not as good. i will make the required calculations and release the code for such an “optimization” on my homepage.

You’re right. It’s just the sunsets I’m worried about… I guess the only solution is to use a seperate shadow map for near geometry.