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