原文链接:https://blog.csdn.net/snail_hunan/article/details/71056228
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osg/Material>
int main(int argc, char** argv)
{
osgViewer::Viewer viewer;
osg::Group* root = new osg::Group;
osg::Node* cow = osgDB::readNodeFile("cow.osg");
root->addChild(cow);
viewer.setSceneData(root);
// Set the material
osg::ref_ptr<osg::Material> material = new osg::Material;
osg::Vec4 redColor(1.0, 0.0, 0.0, 1.0);
material->setAmbient(osg::Material::FRONT_AND_BACK, redColor);
material->setDiffuse(osg::Material::FRONT_AND_BACK,redColor);
material->setColorMode(osg::Material::AMBIENT);
cow->getOrCreateStateSet()->setAttributeAndModes(material.get(), osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE);
return viewer.run();
}