Hi Wang Rui,

I'm also working on very large urban areas with  
osgShadow::ViewDependentShadowMap.
I encounter the same problems.
I also had to use some kind of PCF to reduce some inacceptable noise (huge 
'Moiré' effects).
I tried to use PSSM recently introduced in ViewDependentShadowMap to cope 
with aliasing effects with no success :
- PSSM procuce some strange artifacts on half of the view when mixing the 
two shadow textures (each half shadow  is ok)
- the separation line is not adapted to a 'human walking' point of view 
(too far in the scene)

I doubt that changing the depth of the shadow map will produce noticable 
effects : numerical instabilities will exist, whatever the depth.

At what angles did you encounter innacceptable alisasing issues ?
For views that are not near tangent to the ground plane, the results I got 
seems ok. 
Is your problem global or limited to certain points of view ?
Is your target resolution way beyond the resolution of the shadow map 
(10000*10000) per ex ?

       Luc



De :
Wang Rui <[email protected]>
A :
OpenSceneGraph Users <[email protected]>
Date:
12/03/2012 10:39
Objet :
[osg-users] Methods to improve large scene shadows with 
ViewDependentShadowMap
Envoyé par :
[email protected]



Hi all,

I'm currently working on an example that uses 
osgShadow::ViewDependentShadowMap for generating dynamic shadows on a 
large area of buildings. It can work correctly on a huge city which is 
created by CityEngine and then converted to OSG styled scene graph. It 
also generates aliasing issues as expected, but I'm still looking for some 
good solutions to reduce such problem and want to discuss them in this 
thread if possible. My test program and a simple shader file can be found 
in attachement.

I've already read a similar topic at:
http://lists.openscenegraph.org/htdig.cgi/osg-users-openscenegraph.org/2011-August/053731.html

And I believe it is necessary to apply some filters on the shadow map (the 
test shader file simply uses PCF here) and increase the texture resolution 
as well. But for huge scene, a 4096-sized RTT texture will be a heavy 
burden. So I wonder if there are some more methods to choose, for example, 
is it possible to change the internal format of the texture to 
GL_DEPTH_COMPONENT32 to improve the shadow comparision process?

Meanwhile, is it necessary to perform a screen space blurring to reduce 
the aliasing effect? It is a serious problem for my scene now as I can't 
use a very high resolution. Could anyone suggest some other possible 
methods on the post-processing level? To be honest, the 
ViewDependentShadowMap is the best shadow solution for me at present as it 
is easy to be integrated with custom shaders and embedded into a deferred 
shading framework.

The test city models are about 180MB. If any of you think it important for 
digging into the problem. I'd like to share them freely, too, as I believe 
these automatically generated models should not have any copyrights with 
them. :-)

Cheers,

Wang Rui
[pièce jointe "screen_space_shadow.cpp" supprimée par Luc 
Frauciel/STAR-APIC] [pièce jointe "shadowRenderer.frag" supprimée par Luc 
Frauciel/STAR-APIC] _______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to