I have loaded a *.osg file and I am using and osg::StateSet and
setting a material to have an alpha value of 0.5 to set the
transparency.
The problem is that it comes out only transparent on one side and
completely Grey scale.

I suspect that that the Materials set within the *.osg file are
overriding and/or interfering with my settings.
How do I go about setting the global transparency, and thus overriding
any local transparency settings, front and back faces, while still
maintaining all the the colors of all the child nodes from the osg
file.

this is what i have

node = osgDB::readNodeFile( qPrintable(fullPathCopy) );


if (!node)
       return false;

osg::StateSet* state = node->getOrCreateStateSet();
state->setMode(GL_BLEND,osg::StateAttribute::ON|
osg::StateAttribute::OVERRIDE);
osg::Material* mat = new osg::Material;
mat->setAlpha(osg::Material::FRONT_AND_BACK, 0.8);
state->setAttributeAndModes(mat,osg::StateAttribute::ON |
osg::StateAttribute::OVERRIDE);
osg::BlendFunc* bf = new osg::BlendFunc(osg::BlendFunc::SRC_ALPHA,
osg::BlendFunc::ONE_MINUS_SRC_ALPHA );
state->setAttributeAndModes(bf);
state->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);
state->setMode(GL_LIGHTING, osg::StateAttribute::ON);
node->setStateSet(state);
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to