查看: 3786|回复: 3

如何在一个节点上关闭光照

[复制链接]

该用户从未签到

发表于 2011-1-4 13:32:03 | 显示全部楼层 |阅读模式
我在一个Group下添加了一个LightSource节点,然后再在该group下添加了几个其他的节点,我给这些节点的StateSet设置了
setMode(GL_LIGHTING,osg::StateAttribute::OFF),可是运行后的效果仍然有光照效果,不知该怎么禁用光照?

该用户从未签到

发表于 2011-1-4 15:17:46 | 显示全部楼层
这样已经禁用光照了,注意禁用光照并不代表场景会变黑,而是不再进行光照影响的计算,此时物体本身的顶点颜色,纹理和法线设置都会直接被表达出来

该用户从未签到

 楼主| 发表于 2011-1-5 12:21:30 | 显示全部楼层
2# array 谢谢,不过还有一个问题,我的这个Group其实是一个ShadowedScene节点,如果我不给它添加LightSource子节点,那么绘制出来就没有阴影效果,但是如果我给它添加一个LightSource子节点,那么不管我怎么给它赋予颜色,绘制出来都是灰色的,
osg::Vec4Array *colorArray=new osg::Vec4Array;
colorArray->push_back(osg::Vec4(0.8,0.8,0.8,1.0));
gem1->setColorArray(colorArray);
gem1->setColorBinding(osg::Geometry::BIND_OVERALL);

gem1是个立方体。

该用户从未签到

发表于 2011-1-5 12:42:29 | 显示全部楼层
这取决于您的阴影绘制方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表