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

## Recommended Posts

I know there are already many threads about shadow maps, but I didn't find any that answers my question. I read the paper about dual-paraboloid shadow maps and discovered that shadow quality depends on polygon tesselation... so, I think this is not really good for realtime graphics to increment tesselation for all geometry only to get better shadows. of course, rendering the scene from 6 different directions from the lightsource position would be an alternative... but this are a few passes to much. so, my question: is there any other technique which doesn't need more that two passes and works with every tesselation level? Brisco

##### Share on other sites
Quote:
 is there any other technique which doesn't need more that two passes and works with every tesselation level?

I guess no.

The minimum passes I can think of is four - by rendering a tetrahedron from the light POV.
(This may be worse than cube maps due to overlapping)

You cannot do it in < 4 passes. Why? Here's an informal proof that pops off from my head...

When you render a pass, you are mapping triangles from 3D subspace to 2D buffer. Note that:
(1) Today's rasterization hardware uses linear interpolation. That means 3D lines map to 2D lines, and 3D triangles map to 2D triangles.
(2) To create shadow maps, any two triangles that doesn't overlap in 3D space (from the light POV) cannot overlap in the 2D buffer.

Now, suppose you render 2 sides of the tetrahedron (say, v0v1v2 & v1v2v3) in one pass.

You can see that no matter how you map the 2 triangles to 2D space, either triangle v0v1v3 or v0v3v2 must overlap with these 2 triangles (after mapping to 2D) - due to the linear mapping nature.
i.e. you cannot do any 2 sides in one pass, or your shadow map is inaccurate.
Hope you understand what I mean.

• 17
• 10
• 21
• 16
• 9