[osg-users] Color Change Question

Daniel Lecklider lecklider_daniel at bah.com
Wed Jul 6 15:05:36 PDT 2016


At my work we use OSG for simulation purposes and I am looking to display a model with each of its individual parts/components displayed in a different color.

 I am new to OSG so I still dont understand everything yet. But I know I need to remove all of the skins and apply a new color. A co-worker already created a way to give the entire model a color but I need to do it for each sub component. 

Here is the function my co-worker has used to remove the textures and add the new material.


void removeTextures(osg::Node* x)

if(x != nullptr)
          auto state = x->getOrCreateStateSet();
          state->setAttributeAndModes(this->material, osg::StateAttribute::OVERRIDE | osg::StateAttribute::ON);
          state->setTextureMode(0, GL_TEXTURE_2D, osg::StateAttribute::OVERRIDE | osg::StateAttribute::OFF);
          auto group = x->asGroup();
          if(group != nullptr)
               auto numChildren = group->getNumChildren();
               for(decltype(numChildren) i = 0; i < numChildren; i++)

How would I go about changing the material of each geode/geometry/drawable and what are the differences between these three classes?

Thank you!


Read this topic online here:

More information about the osg-users mailing list