[osg-users] Blending in OSG

Sergey Polischuk pol-ss at yandex.ru
Fri Apr 29 08:04:02 PDT 2011


Hi, Mukund

I think in your case problem might be that you draw your sphere without backface culling and only front faces are set to transparent on material. Try to enable backface culling or set alpha on material to FRONT_AND_BACK.

Cheers, Sergey.

22.04.2011, 23:49, "Mukund Keshav" <osgforum at tevs.eu>:
> 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
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



More information about the osg-users mailing list