osg.Material
表示了一个材质。一个材质是从物理上讲与一个物体表面互动的外观特征。材质由四个属性定义: 渲染前、渲染后、纹理动作和材质属性。
osg.Material可以管理多个属性,如环境光、漫反射、镜面反射和高光值等。每一个属性可以由RGBA颜色和纹理参数定义。
实际上,osg.Material是将场景图的上下文状态和渲染状态和场景图相连的一个重要组件。
你可以设置以下的属性来编辑osg.Material
:
我们可以使用下面的代码对材质进行设置:
osg::ref_ptr<osg::Material> material = new osg::Material;
material->setAmbient(osg::Material::FRONT, osg::Vec4(1.0f, 0.0f, 0.0f, 1.0f));
material->setDiffuse(osg::Material::FRONT, osg::Vec4(0.0f, 1.0f, 0.0f, 1.0f));
material->setSpecular(osg::Material::FRONT, osg::Vec4(0.0f, 0.0f, 1.0f, 1.0f));
material->setEmission(osg::Material::FRONT, osg::Vec4(0.0f, 0.0f, 0.0f, 1.0f));
material->setShininess(osg::Material::FRONT, 128.0f);
material->setColorMask(osg::Material::ColorMask::ALL);