查看: 1189|回复: 3

osg::program疑问?

[复制链接]

该用户从未签到

发表于 2011-4-12 14:44:09 | 显示全部楼层 |阅读模式
通过osg::stateset可以绑定shader, 类似

osg::ref_ptr< osg:rogram > _prm = new osg::Program ;
osg::StateSet * _ss = xxNode->getOrCreateStateSet() ;
_ss->setAttributeAndModes( _prm.get, ..)


有一个疑问,可以对同一个_ss同时设置2或者以上的osg::Program么,类似:
_ss->setAttributeAndModes( _prm1.get, ..);
_ss->setAttributeAndModes( _prm2.get, ..);

现在做一个glow效果,需要多遍pass, 我发现如上使用第2个program效果
会冲掉第一个; 是不是这样使用是不可以的?

如果像这种多遍pass,是不是必须都要像osgstereomatch那样建立多个
摄像机那种, 每个只放一个osg::program运行??

有类似经历同学请指教下, 谢谢.

该用户从未签到

发表于 2011-4-12 15:35:06 | 显示全部楼层
嗯,应该需要建多个rtt相机

该用户从未签到

发表于 2011-4-12 16:17:15 | 显示全部楼层
多遍渲染的方式请参看osgFX的作法。不过您说的glow更像是post effects而非多遍渲染,请参看osgXI工程中的作法,这些都已经实现了

该用户从未签到

 楼主| 发表于 2011-4-12 17:45:03 | 显示全部楼层
好,多谢两位指点,我找来看看.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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