Shadow mapping thoughts [Screenshots inside]

Started by
22 comments, last by hplus0603 18 years, 2 months ago
I think that they are thinking of gpu based shadow volume extraction, which to my knowledge requires the meshes to be 2-manifold.
Advertisement
This subdivided shadow map looks like a great thing. What's the catch to it compared to TSM or Multiple Shadow Maps (as in 3D Mark 06)?

Quote:Original post by Guoshima
This subdivided shadow map looks like a great thing. What's the catch to it compared to TSM or Multiple Shadow Maps (as in 3D Mark 06)?


I certainly haven't understood it completely yet, but it sounds like a combination of both. They subdivide the frustum und apply a "warp" (similar to PSM, LISPM or TSM) to each frustum (and in the "face subdivision" case to each frustum face).
My guess is that it won't be trivial to implement and might demand a lot of GPU resources (but the same is true for the 3DMark06 CSM approach with 5 2048 x 2048 shadow maps). When I tried the CSM approach I discovered that stencil shadows were still better in quality (pixel perfect by their nature) and faster too. Of course that won't help if you have objects with billboard textures.
hmm .. so it will be hard to implement correctly then. Isn't 3D Mark 06, reusing the 2K texture for each part. And I start reading a bit the paper, and it seams that SSM, subdivides the shadow map itself, anf does not to multiple passes on the rendering (could be wrong though).

Regarding stencil shadows. Isn't this still to costy on the CPU, or vertex shader, and shouldn't everything be rather low poly. And there is now fast way to do soft shadows yet I though .. so to make a good leaking realistic game, shadow maps seams to be the only solution then I presume. Or perhaps a combination of both could help.

I hate shadows .. way to much possibilities to implement them :)

Btw, has anyone experience using a precomputed shadow information, based on spherical harmonics or something? Might be much faster than the other ones for the static scene, and you can have really good looking results.
Quote:Original post by krausest
When I tried the CSM approach I discovered that stencil shadows were still better in quality (pixel perfect by their nature) and faster too.


Well, Pixel perfect is not enough - people want soft shadows and I have yet to find a solution that supports soft stencil shadowing at decent frame rates.
You can use the GPU to extrude the shadow volumes (so you can do extrusion on skinned meshes). However, this requires you store aload of extra data in each vertex, and alot of bodges.

In the DirectX9 SDK documentation, there's a white paper on the subject.
Quote:Original post by Anteru
Quote:Original post by krausest
When I tried the CSM approach I discovered that stencil shadows were still better in quality (pixel perfect by their nature) and faster too.


Well, Pixel perfect is not enough - people want soft shadows and I have yet to find a solution that supports soft stencil shadowing at decent frame rates.


You're absolutely right. But soft shadows with shadow maps are neither cheap nor accurate and in combination with CSM they won't get any faster. BTW which method for soft shadow maps would you recommend?
Hello,

today I came accros this engine: Unigine

It has a rather nice stencil soft shadow support. At least I think it's stencil soft shadows. The implementation of depth shadow maps is rather bad though. I was wondering what technique it might be using for the soft stencil shadows.
Quote:Original post by Guoshima
Hello,

today I came accros this engine: Unigine

It has a rather nice stencil soft shadow support. At least I think it's stencil soft shadows. The implementation of depth shadow maps is rather bad though. I was wondering what technique it might be using for the soft stencil shadows.



The shadows look a lot like a simple image space blur effect (you'll notice the blur is the same width in all of the screens).

There actually has been a bit of research into soft shadow volumes by a guy named Ulf Arssarsson at Stanford. The results are quite impressive in terms of image quality (screenshot below), but performance I cannot comment on, as I can't get his demos to run on my machine back at Waterloo for some reason.



Btw, I know it's quite a bit more expensive, and I don't mean to plug my own work, but I'd recommend looking into skewbe mapping a bit for your spotlight issue, or at least applying some of the concepts. Even though skewbe mapping is based on a 6-face system, for a spotlight you could easily just look at 5 of those. In fact, for spotlights, you could probably go further and break the shadow map up even more (possibly into 2 faces) and play with the FOVs and orientations of each to get good results.
We are using Cascading Shadow Maps (2 physical maps emulates 6 logical
cascaded maps) in our current game with great success

http://www.elmatador.net/images/Gallery/JAN06/JAN06_screenshot_ElMatador04.jpg
http://www.elmatador.net/images/Gallery/JAN06/JAN06_screenshot_ElMatador08.jpg
http://www.elmatador.net/images/Gallery/JAN06/JAN06_screenshot_ElMatador02.jpg

This topic is closed to new replies.

Advertisement