首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenSceneGraph发射式照明

OpenSceneGraph发射式照明
EN

Stack Overflow用户
提问于 2016-08-01 13:20:35
回答 1查看 601关注 0票数 0

我有一个相当大的网格(我用osgDB加载)。它还具有多个子网格。

我正在试着设置发射灯。然而,我可以看到(怀疑),只有第一个子网格是亮的。怎么可能照亮所有子网格。我没有使用灯光来照亮场景。

推荐的方法是什么?

代码语言:javascript
复制
int main()
{
    osg::Node * cytBuilding = osgDB::readNodeFile( OBJ_FILE );


    osg::Group * root = new osg::Group();
    osg::PositionAttitudeTransform * scenePAT = new osg::PositionAttitudeTransform();
    root->addChild(scenePAT);
    scenePAT->addChild( cytBuilding );




    //material
    osg::Material* material = new osg::Material();
    material->setAmbient(osg::Material::FRONT, osg::Vec4(1.0,1.0f,1.0f,1.0f));
    material->setDiffuse(osg::Material::FRONT, osg::Vec4(1.0,1.0f,1.0f,1.0f));
    material->setSpecular(osg::Material::FRONT, osg::Vec4(0.0,0.0f,0.0f,1.0f));
    material->setEmission(osg::Material::FRONT, osg::Vec4(1.0,1.0f,1.0f,1.0f));
    osg::StateSet* stateset = new osg::StateSet();
    stateset->setAttributeAndModes(material,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON);
    root->setStateSet(stateset);


    // viewer
    osgViewer::Viewer viewer;

    viewer.setSceneData( root );
    viewer.realize();
    return viewer.run();

当我读取网格(osgDB::readNodeFile())时,它显示以下错误消息

代码语言:javascript
复制
*** line not handled *** :map_bump
*** line not handled *** :bump
*** line not handled *** :map_opacity
*** line not handled *** :map_d
*** line not handled *** :refl
*** line not handled *** :map_kS
*** line not handled *** :map_Ns

结果显示为:

当我使用meshlab显示相同的网格时,我看到

EN

回答 1

Stack Overflow用户

发布于 2016-08-11 15:25:18

这在很大程度上取决于模型中的StateSets是如何组织的。你能试着在你的根节点上强制照明吗?

代码语言:javascript
复制
stateset->setMode( GL_LIGHTING, osg::StateAttribute::OVERRIDE | osg::StateAttribute::ON );

您还可以尝试实现一个小访问器来转储模型中的所有Material和StateSets,以查看它们是如何分配的,可能会使用OVERRIDE|PROTECTED标志覆盖每个节点。仅为了测试,您是否尝试将材质应用于模型中的所有测地点或几何体?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38691492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档