Hi Sherman, Finally had a chance to look at your repro, and I agree it is an OSG bug. It's a consequence of the unique handling of glProgram state within OpenGL; I thought we'd fixed this before, but you seem to have uncovered a different failure vector.
In the repro example you gave me, since I didn't have a osgdem earth model, I just used a earth-sized sphere, note the line below for the easy workaround: //osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("c:/brokaw/system/earth/earth.ive"); osg::Geode* geode( new osg::Geode() ); geode->addDrawable(new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0,0,0), 6.371e6f ))); geode->getOrCreateStateSet()->setAttribute( new osg::Program ); // <--- workaround for shader leakage osg::ref_ptr<osg::Node> loadedModel = geode; That "empty" osg::Program above on the scene root explicitly forces the scene to fixed-function. Without it, the problem seems that fixed-function default isn't enforced til a cull traversal, so there's this hole that the scene can accidently be affected by a leaking osg::Program binding. I'll be submitting a real fix rsn. cheers -- mew > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:osg-users- > [EMAIL PROTECTED] On Behalf Of sherman wilcox > Sent: Thursday, February 14, 2008 8:48 PM > To: OpenSceneGraph Users > Subject: Re: [osg-users] traversal question w/latest developerrelease- > blacknodes > > mew - Didn't realize there was a potential shader connection till a > tad later. Anyway, I spent more time on this yesterday and managed to > build a sample app that is much smaller and less complicated than the > app I originally found the problem in. There's a bit of propriety code > in this sample app - nothing I wouldn't mind sharing with you if you > want to take a peek. > > The thing that bugs me is why is this shader effecting other osg > nodes. Now, there could most certainly be a bug in my code somewhere - > but I'm using OSG code - I don't *think* I'm going outside of OSG and > doing messing with OpenGL states. So, if I'm using all OSG code then I > would think that even if I've got a bad shader, or doing something I > shouldn't be - then that error should be confined to that node and its > children and should NOT travel to its siblings. _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org