[osg-users] Blending in OSG

Mukund Keshav osgforum at tevs.eu
Fri Apr 22 12:49:04 PDT 2011


Hi Everyone,

i am trying blending in OSG and i tried this code:


Code:
osg::Geode* wireSphere = new osg::Geode();
osg::PolygonMode* polygonMode = new osg::PolygonMode();
	
osg::ref_ptr<osg::ShapeDrawable> sphere = new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0,0,0), 3));

//polygonMode->setMode(osg::PolygonMode::FRONT_AND_BACK, osg::PolygonMode::LINE);
	wireSphere->getOrCreateStateSet()->setAttributeAndModes(polygonMode, osg::StateAttribute::ON);
wireSphere->getOrCreateStateSet()->setAttributeAndModes(new osg::LineWidth(2.0f),osg::StateAttribute::ON);

osg::StateSet* state = wireSphere->getOrCreateStateSet(); 
osg::ref_ptr<osg::Material> material = new osg::Material; 
  
   // Set alpha to 0.1
material->setAlpha(osg::Material::FRONT, 0.4); 
state->setAttributeAndModes( material.get() , osg::StateAttribute::ON | 
								  osg::StateAttribute::OVERRIDE);
state->setMode(GL_LIGHTING, osg::StateAttribute::ON);
state->setMode(GL_NORMALIZE, osg::StateAttribute::ON);
state->setMode(GL_BLEND, osg::StateAttribute::ON);
    
// Turn on blending 
osg::BlendFunc* blendFunc = new osg::BlendFunc(osg::BlendFunc::SRC_ALPHA, 
											osg::BlendFunc::ONE_MINUS_SRC_ALPHA ); 
 state->setAttributeAndModes(blendFunc);

wireSphere->addDrawable( sphere.get() );




But, i'm still getting an opaque sphere. Could anyone please tell me where i'm going wrong? 

Thanks,
Mukund

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=38740#38740








More information about the osg-users mailing list