• Advertisement
Sign in to follow this  

Dual Sphere-Unfolding/Omni-directional shadow maps

This topic is 2002 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 curious what people are using for omni-directional shadow maps these days.
I think that dual paraboloid and cube map shadows are two typical choices. I have used the latter in the past. While looking for alternatives that might perform faster with comparable quality I came across Dual Sphere-Unfolding Shadow Maps, which are rendered in a single pass. Has anyone tried it? Is there a more detailed explanation of the method around? Any other methods that are worth looking into?

Share this post


Link to post
Share on other sites
Advertisement
I tried this method in a recent project to fill a scene with 100 dynamic lights casting shadows. The theory is appealing and the results are not so bad...
BUT you'll want to have a very fine geometry in order to obtain accurate shadows: the projection used to store the whole shadow sphere in a single texture will highly bend the geometric data, thus leading to frequent artifacts during the depth comparison.
(Though I had to rush that project so I might have missed something)

Still, it was tremendously fast and produced cool shadows... If you don't stare at them too much tongue.png Edited by PixelSmasher

Share this post


Link to post
Share on other sites
Interesting.
Are you aware of additional resources related to this technique?

Share this post


Link to post
Share on other sites
Unfortunately, I am not.
This technique seems to remain unnoticed (or people consider that such artifacts are unworthy of their time tongue.png).

There is this video, made by the author of Dual-Sphere Unfolding (It was my only help when implementing my demo), but nothing from the community.
If you ever find something, I would be greatly interested. Edited by PixelSmasher

Share this post


Link to post
Share on other sites
It's just simply sphere mapping. The only difference is, that they use 2 sphere maps and let the vertex shader decide on which one the vertex gets projected, based on whether the y axis is positive or negative. They say that it would be a one pass method, but I really doubt it. I don't think that a triangle that has vertices on both sides of the xz-plane wouldn't cause artifacts. You'd probably still need a geometry shader or 2 passes to render these shadow maps without artifacts. I think it's worse than dual paraboloid shadow mapping, but I'll give it a try.

Share this post


Link to post
Share on other sites

It's just simply sphere mapping. The only difference is, that they use 2 sphere maps and let the vertex shader decide on which one the vertex gets projected, based on whether the y axis is positive or negative. They say that it would be a one pass method, but I really doubt it. I don't think that a triangle that has vertices on both sides of the xz-plane wouldn't cause artifacts. You'd probably still need a geometry shader or 2 passes to render these shadow maps without artifacts. I think it's worse than dual paraboloid shadow mapping, but I'll give it a try.

It would be nice to see your results in case you find the time and implement it.

Share this post


Link to post
Share on other sites
I would also try single pass cubemapping using the geometry shader: http://devmaster.net/forums/topic/9367-render-to-cubemap-in-a-single-pass-really-useful/

The least amount of geometry warping that I know of, and still very efficient smile.png

Share this post


Link to post
Share on other sites

I would also try single pass cubemapping using the geometry shader: http://devmaster.net...-really-useful/

The least amount of geometry warping that I know of, and still very efficient smile.png

Last time I tried it, using the geometry shader for single pass cubemapping was slower on my machine than doing a pass for every cube face. Have you seen more encouraging results?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement