osg设置节点材质
osg设置节点材质
#include <osg/Geode> #include <osg/Material> #include <osgDB/ReadFile> int main() { // 创建一个 Geode 对象 osg::ref_ptr<osg::Geode> geode = new osg::Geode(); // 创建一个材质对象 osg::ref_ptr<osg::Material> material = new osg::Material(); // 设置材质的漫反射颜色为红色 material->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4(1.0f, 0.0f, 0.0f, 1.0f)); // 将材质应用到 Geode 的状态集 geode->getOrCreateStateSet()->setAttribute(material); // 创建一个几何体并将其添加到 Geode 中 osg::ref_ptr<osg::Geometry> geometry = new osg::Geometry(); geode->addDrawable(geometry); // 加载一个模型文件并添加到 Geode 中 osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("path/to/your/model.osg"); geode->addChild(model); // 将 Geode 添加到场景图中 osg::ref_ptr<osg::Group> root = new osg::Group(); root->addChild(geode); // 创建渲染器并设置场景图 osgViewer::Viewer viewer; viewer.setSceneData(root); // 开始渲染循环 return viewer.run(); }
##########################
QQ 3087438119