Hi,

You will probably need to dive into osgShadow code with debugger. I would recommend using osgShadow::ShadowMap for this purpose. Its probably simplest from depth shadow mapping techniques. I would put the breakpoint at start of void ShadowMap::cull(osgUtil::CullVisitor& cv) method and would step it line by line to check if all steps are performed correctly. This methods first culls main camera scene where shadows will be applied. Later finds the light source used to cast shadows, then computes shadow camera projection and view matrices based on light source and culls the scene for shadow camera, finally sets the texgen for applying shadows for main camera scene. This order of operations may sound strange but you have to remember that scenes per cameras can be culled in any order. Its Cameras Render Order that decides that shadow map will be rendered before main scene in Render traversals. So shadow map will be ready for use when main camera scene will be rendered.

Imho most probable problem here is your code does not find the light source and then succesive operations are bound to fail because shadow camera projection is incorrectly computed and scene for shadow map culled out. If the light is found and reasonable view and projection matrices for shadow camera are set then it probably means that shadow camera cull/render does not render the scene for some unknown reason ( I would check Casts Shadow masks on this occasion).

And I have no more ideas. I hope this problem is one of the above, if not you are on your own to dig further. But thats really good opprtunity to learn how OSG works ;-)

Cheers,
Wojtek







-----Oryginalna wiadomość----- From: Jaap van den Bosch
Sent: Monday, October 03, 2011 11:31 AM
To: [email protected]
Subject: Re: [osg-users] OSG Shadow debugging

I already was suspicious of the empty right square. Looks like the shaders are not functioning somehow. Here are some more results:

ShadowMap: Overall dimming, empty DebugHUD camera. See picture below
PSSM: Application crash...
ShadowVolume: Shadow pointing down: Blank screen. Other light direction: overblown colors. See picture below SoftShadowMap: Light from above: no change. Light from an angle: Noise pattern as shadow. See picture below Shadowtexture: blank screen. Primitives amount: 0 (somehow they have disappeared).

Wojciech, do you suspect a culprit responsible for these problems?

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=43159#43159




Attachments:
http://forum.openscenegraph.org//files/softshadowmap_770.jpg
http://forum.openscenegraph.org//files/shadowvolume_532.jpg
http://forum.openscenegraph.org//files/shadowmap_183.jpg


_______________________________________________
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