Yes, OK, it took a minute for what is happening to sink in, but now I understand the situation. I'll try CLAMP_TO_EDGE (or REPEAT) which seems correct, and when I verify it resolves the issue, I'll submit it. -Paul
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Jean-Sebastien Guay > Sent: Tuesday, January 15, 2008 10:16 AM > To: OpenSceneGraph Users > Subject: Re: [osg-users] What changed with ShadowMap in 2.3.x? > > Hello Paul, > > > Interesting. I changed ShadowMap's clamping to CLAMP_TO_BORDER some > > time ago to eliminate seeing the "square" of the shadow map > texture on > > the base geometry, which occurred when CLAMP_TO_EDGE was used (the > > shadow map did not contain an edge, so it defaulted to black, > > producing a shadow for any geometry outside the area > covered by the shadow map). > > I think you misunderstand. I'm not talking about the shadow > map texture, I'm talking about the 1x1 "dummy" texture that's > added to the subgraph on unit 0 (by default) to allow the > same shader to work on textured and untextured objects. These > are the lines to change: > > > fakeTex->setWrap(osg::Texture2D::WRAP_S,osg::Texture2D::CLAMP_ TO_BORDER); > > fakeTex->setWrap(osg::Texture2D::WRAP_T,osg::Texture2D::CLAMP_ TO_BORDER); > > Change that to either CLAMP_TO_EDGE or REPEAT. > > I don't think this has any effect on the actual shadows, > since fakeTex is bound to texture unit 0, and the shadow map > is bound to unit 1 (by default). > > > To me, it seems incorrect for the algorithm to use the same texture > > clamping for both the shadow texture and the scene model textures. > > Shouldn't it use whatever the user has specified for > clamping for the > > model textures? Then it would use CLAMP_TO_BORDER for the > shadow map texture. > > Exactly, but what happens if the user's model has no > textures? Try it - comment out the part that creates and > assigns fakeTex in osgShadow::ShadowMap::init(). > What you'll get for an untextured model is black, because the > shader tries to do a texture lookup on unit 0 which has > nothing bound to it. > > If the model is textured, then fakeTex (bound to unit 0) is > just overridden by the model's textures lower down in the > graph, so there is no problem, and in that case the clamping > mode of that texture takes effect. > > J-S > -- > ______________________________________________________ > Jean-Sebastien Guay [EMAIL PROTECTED] > http://whitestar02.webhop.org/ > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce negraph.org _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

