您的位置:首页 > 其它

osg模型发黑

2017-07-16 09:49 761 查看
简述

    开发过程中遇到模型发黑。一般情况是光照和模型的法线设置不正确。

    (1)osg中光照只会对有法线的模型起作用,而模型经过缩放后法线是不会变得,所以需要手动设置属性,让法线随着模型大小变化而变化。node->getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL, osg::StateAttribute::ON);

    (2)有些时候可能是光照的问题,有个笨办法是直接把模型的光照关闭

    node->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF| StateAttribute::OVERRIDE);

    (3)如果模型始终是一面发黑一面正常,可能是只有平行光,需要设置个全局光。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Osg 模型