Sign in to follow this  
xujiezhige

Differences bwteen depth-pass and depth-fail stencil shadow in shadow volume

Recommended Posts

I find depth-pass tech gives wrong stencil buffer if the camera is in the shadow volume when i learn the sample of ShadowVolume in DXSDK.
But the depth-fail tech works at all circumstances whether the camera is in the shadow or not.

Can you represent your opinion about it ?

Share this post


Link to post
Share on other sites
Well, yes that‘s true. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

The classical z-pass technique decrements the stencil value when a front face is rendered. If that’s not visible, well, then shadowed and lit areas are reversed… Everything that should not be in shadow suddenly is (and vice versa).

Carmack’s z-fail shadows can handle this case, but unfortunately they are a slower, since the GPU can’t do hierarchical z-culling anymore (c.f. Persson, "[url="http://www.google.de/url?sa=t&rct=j&q=depth%20in%20depth&source=web&cd=1&sqi=2&ved=0CDEQFjAA&url=http%3A%2F%2Fdeveloper.amd.com%2Fmedia%2Fgpu_assets%2FDepth_in-depth.pdf&ei=3BRGT-WSKbT04QSVt9nBDg&usg=AFQjCNE1dchHeKsOWgDsPs3BaC73IxcMeQ&cad=rja"]Depth In-depth[/url]", page 6). If your shadow casting geometries are not too complex, don’t worry.

Cheers!

Share this post


Link to post
Share on other sites
Another reason z-fail is more expensive is because you have to render a lot more triangles for the endcaps. You should you z-pass as much as possible, and use z-fail only when necessary. You can determine when z-fail is necessary as described here:

http://www.gamasutra.com/view/feature/2942/the_mechanics_of_robust_stencil_.php?page=4

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