查看: 2304|回复: 7

osg怎么取帧缓存的像素---请锐哥解答

[复制链接]

该用户从未签到

发表于 2009-4-24 14:54:20 | 显示全部楼层 |阅读模式
我想在渲染完某个节点后取出帧缓存中的像素 ,osg怎么实现?

该用户从未签到

 楼主| 发表于 2009-4-24 17:21:01 | 显示全部楼层
这样是 渲染完某个节点后取出的帧缓存像素??不是整个场景的最后的渲染结果??

该用户从未签到

发表于 2009-4-24 18:17:26 | 显示全部楼层
楼主可以参看osgprerender例子,其中的MyCameraPostDrawCallback回调就完成了与您的要求类似的功能。其中通过Image::data函数取出了通过FBO保存到Image类中的数据,并执行自定义的操作

该用户从未签到

 楼主| 发表于 2009-4-26 23:53:03 | 显示全部楼层
我主要是想获得camera下某个节点渲染到帧缓存,其他的节点还没有渲染时的图片,setPostDrawCallback是对camera下所以节点都渲染完才执行的操作吧.

该用户从未签到

发表于 2009-4-27 12:35:39 | 显示全部楼层
如果您只是想渲染某个节点的话,那么可以用一个开关Switch,把其它的节点暂时关闭然后渲染一帧得到RTT纹理

该用户从未签到

 楼主| 发表于 2009-4-27 17:58:09 | 显示全部楼层
这一帧还是渲染其他节点的,switch没有实现,后来我把想渲染的那个节点单独挂到了一个camera上去,然后 setPostDrawCallback,取出帧缓存中的数据再操作的

该用户从未签到

发表于 2009-4-27 19:06:54 | 显示全部楼层
这样当然也可以,不过在这里用Switch节点还是比较合适的,个人感觉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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