[osg-users] ShadowMap problem...

Wojciech Lewandowski lewandowski at ai.com.pl
Fri Nov 20 01:58:03 PST 2009


Hi Wyatt,

I have sent a response from home but somehow I cannot notice it on osg-users list at work. You may ignore this post if you got earlier one. 

Thats the screenshot I wanted. It tells me that everything is correct in shadow map generation pass. Light is found, direction seems right, shadow map contains only back faces (front faces were culled) from light perspective. Terrain is not rendered to shadow map only backfacing polygons from buildings. And thats what I would expect. 

So at this stage everyting seems correct. Which means there a problem in shadow map application. Here is a checklist to follow:

1. Make sure Texture coords / Shadow Map texture stage & sampler are not conflicting with other textures. This can also refer to Shadow TexGen. Make sure you don't have other TexGen producing the coords at the same tex coord unit as shadow map coords.  Check shadow map sampler uniform names and see if your Shaders use the same names as default StandartdShadowMap shaders. 

2. Try turning off programmable pipeline completely (use empty program with override at root of the scene graph).  Shadows should draw something even in fixed pipeline. Shadows are usually pitch dark in fixed pipeline but they are defintiely visible. Modify shaders to output only a shadow factor on color. This way you will know if the shadow term is computed and passed correctly. If its drawn then see next point because lack of shadows may be related to improper ambient term computation.

3. Default StandardShadowMap and LispSM shaders treat shadow term as diffuse / specular light filter. Ie when pixel is in shadow its only lit by ambient color. If for some reason ambient is not computed properly then you may see similar issues to the ones you posted. Check terrain lighting and materials and see if they use GL_COLOR_MATERIAL attribute. GL_COLOR_MATERIAL means that some of the material components is taken from primitive/vertex colors. GL_COLOR_MATERIAL does not work with vertex shaders. So its important to use materials that have all components defined internally. 

Hope this helps, if not, consider sending a code and models sample (you may send it directly to my email account if you want NDA ;-)

Cheers,
Wojtek
----- Original Message ----- 
  From: Wyatt Earp 
  To: 'OpenSceneGraph Users' 
  Cc: 'Wojciech Lewandowski' 
  Sent: Friday, November 20, 2009 6:03 AM
  Subject: RE: [osg-users] ShadowMap problem...


  Is this what you meant?

  Thanks,

  W

   

   

   

  From: osg-users-bounces at lists.openscenegraph.org [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of Wojciech Lewandowski
  Sent: Thursday, November 19, 2009 4:56 PM
  To: 'OpenSceneGraph Users'
  Subject: Re: [osg-users] ShadowMap problem...

   

  Hi Wyatt,

   

  Buildings getting darker while light is moving can be a normal thing it is simply a result of normal diffuse shading. Can you move camera so close that view frustum contains a single building ?. Ideally make it look at 45 deg from a liitle above. Then make screenshot, with debugHUD. Its really important whats on debug hud display.  This will tell me alot. If you have problems with 300 kb OSG forum limit, just send this screenshot directly to my address. 

   

  Cheers,

  Wojtek Lewandowski

   

   

   

  From: Wyatt Earp 

  Sent: Thursday, November 19, 2009 10:45 PM

  To: 'OpenSceneGraph Users' 

  Subject: Re: [osg-users] ShadowMap problem...

   

  Ok... so I did what you suggested mostly... I took the osgshadow example, add my geometry and it worked.  I added another shader on the root node of the scenegraph, because in my app, I do that.  I took the shaders from ShadowMap.cpp and put them into vert/frag files and loaded them into their respective shaders.  That worked too.

   

  In my application, when I load those shaders from ShadowMap.cpp and use them, I see a change in the lighting but it isn't what I expect.  Rather than the objects casting shadows on the terrain, it looks like a shdow is being cast over the objects, but it isnt'being cast on the terrain.  The best way I can describe it is that it looks like the objects are in the sun then a cloud floats between the sun and the object...  I don't think a picture will show what I mean, but here are 3 pictures with the shadow moving progressively to the left over the object... note the white building in the front gets darker.  But now shadows on the terrain.

   



   



   

   



   

  W

   

   

   

  > -----Original Message-----

  > From: osg-users-bounces at lists.openscenegraph.org [mailto:osg-users-

  > bounces at lists.openscenegraph.org] On Behalf Of Jean-Sébastien Guay

  > Sent: Thursday, November 12, 2009 1:45 PM

  > To: OpenSceneGraph Users

  > Subject: Re: [osg-users] ShadowMap problem...

  > 

  > Hi Wyatt,

  > 

  > > Any suggestions?

  > 

  > Not really. At this point you'll probably have to trace into OSG to

  > make

  > sure the shadow map traversal is getting to the right objects (i.e.

  > your

  > masks are set correctly), and check your shaders (perhaps even try with

  > the basic shaders that LISPSM uses by default for starters). Also, try

  > to start with the osgShadow example, and work up progressively to

  > something similar to what you have in your app, and perhaps in the

  > process you'll find out what's not working. If not, then at least

  > you'll

  > have a small app that can demonstrate the problem, which we might be

  > able to help with.

  > 

  > Hope this helps,

  > 

  > J-S

  > --

  > ______________________________________________________

  > Jean-Sebastien Guay    jean-sebastien.guay at cm-labs.com

  >                                 http://www.cm-labs.com/

  >                          http://whitestar02.webhop.org/

  > _______________________________________________

  > osg-users mailing list

  > osg-users at lists.openscenegraph.org

  > http://lists.openscenegraph.org/listinfo.cgi/osg-users-

  > openscenegraph.org


------------------------------------------------------------------------------

  _______________________________________________
  osg-users mailing list
  osg-users at lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20091120/e0c49b41/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 8710 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20091120/e0c49b41/attachment.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 8367 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20091120/e0c49b41/attachment-0001.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 7579 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20091120/e0c49b41/attachment-0002.jpeg>


More information about the osg-users mailing list