http://appsrv.cse.cuhk.edu.hk/~fzhang/pssm_project/

*Question: In which directions, we can further improve PSSMs?
*

*Answer:* PSSM+VSM <http://forum.beyond3d.com/showthread.php?p=975976>
(variance
shadow maps <http://www.punkuser.net/vsm/>) and PSSM/CSM+LiSPSM (light space
perspective shadow maps) might be better ways to further improve PSSMs. A
good example for PSSM/CSM+LiSPSM is the professional game Lost
Planet<http://www.lostplanet-thegame.com/flash_index.php>,
refer to the discussion
here<http://forum.beyond3d.com/showpost.php?p=919807&postcount=116>for
more information (just use Ctrl+F to find "Fan Zhang" on the page).
For
your convenience, I post the PSSM/CSM related part  in the discussion below,

          *               *
   <http://www.watch.impress.co.jp/game/docs/20070131/3dlp91.htm>
<http://www.watch.impress.co.jp/game/docs/20070131/3dlp92.htm>  * Glitch in
LiSPSM <http://www.watch.impress.co.jp/game/docs/20070131/3dlp91.htm>*
* Cascade-extended
LiSPSM <http://www.watch.impress.co.jp/game/docs/20070131/3dlp92.htm>*


Furthermore, since the shadow-map alignment depends on the light-view
configuration, the shadow boundaries might "flicker" as the viewer moves.
See a movie here
(.avi)<http://appsrv.cse.cuhk.edu.hk/%7Efzhang/pssm_project/flickering.avi>to
show this problem. For this problem, when using a shadow map size over
1024 and the number of splits is greater than 3, this phenomena can be
nearly eliminated with PCF/VSM. Another possible solution is used in Terry
Welsh's OpenSceneGraph-based
implementation<http://appsrv.cse.cuhk.edu.hk/%7Efzhang/pssm_project/PSSMdemo_OSG_Terry.tar.gz>,
which moves the light projection in *x* and *y* coordinates in a texel size,
so you are always having the same aliasing pattern. However, when you change
the size of the projection (i.e. the *min* and *max* vectors in the
*crop*matrix in Oskari
Nyman's DirectX9
implementation<http://appsrv.cse.cuhk.edu.hk/%7Efzhang/pssm_project/PSSMdemo_DX9.zip>),
this problem still happens. Anyway, as I mentioned, this issue is not
noticeable at all if we use PSSM+PCF/VSM.

The last issue might the performance. I've to say, as the tremendous
advances in modern GPUs,  even without hardware-acceleration, PSSMs could
achieve a high fps in practical applications. In our Gems 3
paper/implementation, we proposed the acceleration methods on DX9-level and
DX10-level GPUs. Please check this page back later. In summary, personally,
I don't think the performance is a problem for PSSMs on modern GPUs.
*
Alors, OSG take same way?

who could support me ?

regards *


2008/5/27 Wojciech Lewandowski <[EMAIL PROTECTED]>:

> Hi J-S,
>
>  Yes it is view dependent. Have you seen some issues with pure
>>> osgShadow::ShadowMap in multi view configurations ?
>>>
>>
>> Not at all, I was just curious since you said StandardShadowMap is
>> equivalent to osgShadow::ShadowMap - but the former is view-dependent where
>> the latter is not.
>>
>
> I thought about it for a while when I was struggling with multi view /
> multi threaded OSG on XP. Threre exists some remote possibility for
> osgShadow::ShadowMap to fail in threaded modes. Just an example: multicore
> default DrawThreadPerContext uses two SceneViews in parallel. While first
> does draw for previous frame, second does cull for next frame. Teoretically
> second SceneView may invoke ShadowMap::cull which could alter shadow TexGen
> matrices before first SceneView managed to use it for generating shadow tex
> coords. This would produce shadow texture misalignment and possible flicker
> between scenes. But in practice I doubt anyone would be able to notice it.
>
>  You may try to add setMinLightMargin( 10 ); in osgshadow paragraph
>>> where --lispsm technique is created. There is a catch though. You may be
>>> hit
>>> by some assertion code I added today. If you want to try this please
>>> update
>>> ConvexHull.h header (attached here).
>>>
>>
>> Yep, that solves it. Interesting, so there's a few more parameters to
>> tweak depending on the scene.
>>
>
> These techniques have some limitations and may not be interesting for
> eveyone. Techniques were created for vis simulation scenarios where
> databases are usually larger than view frustum (considering their bounds)
> and implicitly assume that all objects can cast shadows on themselves. So I
> assume that shadow casting and shadow receiving scenes are basically the
> same. I think that other MinimalXXShadowMap could be created to take
> advantage of the situation where shadow casting and shadow receiving scenes
> differ. LisPSM would not require changes. All what would be needed is to
> derive it from this new base class.
>
> Cheers,
> Wojtek
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



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

Reply via email to