Hi Guys,

Assuming one light (which is reasonable considering other shadow limitations) it should be possible to compute ambient term in fragment shader only (its simply: gl_FrontLightModelProduct[0].ambient). If you have right ambient term you could use shadow factor to blend between glColor (containing difuse+ambient from vertex pipeline) and above ambient computed in fragment shader.

Cheers,
Wojtek

--------------------------------------------------
From: "Jean-Sébastien Guay" <[email protected]>
Sent: Friday, November 20, 2009 10:17 PM
To: "OpenSceneGraph Users" <[email protected]>
Subject: Re: [osg-users] Shadows on two-sided polygons

Hi Andreas,

I have turned off those things, and now it works good for me. Should I
refactor that in a way that the application programmer can choose the
behaviour and submit that?

You could, but I think setting those things via overridden state is also acceptable, since if you need that you'll probably know what to set...

Another thing: I have written a vertex and a fragment shader that work
together in a way that allows the shadows to be rendered exactly in the
ambient color. This means that shadowed surfaces look the same as
surfaces that face away from the light. This gives a much more natural
feeling, and you don´t get false shadows on the backs of polygons. I
needed the vertex shader to get the correct ambient color, I think it is
not possible to do this with a fragment shader alone.

I assume you're talking about osgShadow::ShadowMap? The shaders used for the ViewDependentShadow classes (LightSpacePerspectiveShadowMapDB, CB, VB) already do this. Note that osgShadow::StandardShadowMap is the equivalent of osgShadow::ShadowMap but under the ViewDependentShadow architecture, so you could have used that and you would have gotten the right shadow ambient color.

You can always submit those shaders (as part of modified ShadowMap.cpp files so that they work by default), I'm sure anyone still using osgShadow::ShadowMap will be glad you do.

J-S
--
______________________________________________________
Jean-Sebastien Guay    [email protected]
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/
_______________________________________________
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