Sign in to follow this  
Followers 0

Shadow Volume Artefacts (Not the usual one)

1 post in this topic



i am implementing stencil volume shadowing for a render engine. Now this engine is taking in lots of different polygon data that might come from the gluTesselator or so, is deformed after, and therefore not feasible for adjacency information (since one vertex and/or normal can be shared by > 20 other faces). Means: No Silhouette detection in the geometry shader is possible.


This requires me to cast a shadow volume per triangle. Speed is not an issue though. However, no matter if i do depth-pass or depth-fail properly, i always get white specs on polygon edges. Now if a model is highly tesselated, things go awkward.


It creates single pixels that do not succeed in the stencil test.


What i do:


1: (DepthTest on/Write on) Render the scene but just the depth (transforms happen in the geometry shader)

2: (DepthTest on/Write off) Render the volumes with stencilOpSeparate

3: (DepthTest off/Write off) Render a fullscreen quad so that the shadow areas are extracted

4: 1,2,3 -> render into a texture array (per light) that i use in the real render pass later


no multisampling at the moment.


The effect increases when the number of faces is increased, but it also happens for each front facing volume plane that is shared with another back facing volume plane (same edge, different order).


This means: As soon as 2 volume planes are the same but have different orientation, the stencil test is not always correct in the shadowed areas.


any help is appreciated. I'll try to post screenshots later when i'm at home again.


Thank you very much!

Edited by FlyingBavar

Share this post

Link to post
Share on other sites

Ok. Attached is a screenshot that outlines the issue. 2 cubes and a plane, all tesselated and hovering over the ground plane. This is simple geometry, but due to requirements, every triangle has to cast its own shadow volume.


Thanks for your help!4jnwjhss.jpg


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  
Followers 0