查看: 1488|回复: 5

关于用FBO实现场景图像处理的问题

[复制链接]

该用户从未签到

发表于 2011-9-13 12:51:37 | 显示全部楼层 |阅读模式
本人是osg新手,各位大大,如何在osg中正确实现在opengl蓝宝书中的利用FBO结合片元着色器实现整个场景的图像处理(如实现画面的模糊锐化等等)?
在osg中渲染到纹理例子大多是将场景渲染到一个四边形上,这个问题就在于,将这个四边形作为一个节点加入到场景后,你不能用manipulator来控制渲染到纹理之前的场景。
总之,应该如何实现场景画面的后期处理,而又不影响manipulator的使用,即让人看不出是渲染到纹理呢,多谢了!!!看了array和flysky的两本书后,还是不太知道这种图像画面的特效处理应该添在哪里?

该用户从未签到

发表于 2011-9-14 08:42:33 | 显示全部楼层
render to texture,如果我没记错的话,我的书里就有这么一个例子,osgprerender也是这样的例子

该用户从未签到

 楼主| 发表于 2011-9-14 13:23:21 | 显示全部楼层
谢谢array大大,我知道那个例子,我可能没太表述清楚。
在那个例子中,坐标轴是作为纹理贴到一个四边形上,你用漫游器控制的时候,控制的是这个四边形,而不是那个坐标轴,因为这个四边形是作为一个节点加入到主camera中。我想实现的效果是将一个场景渲染到纹理之后,仍旧能用漫游器控制渲染到纹理之前的场景。意思就是说,仅是通过渲染到纹理来实现场景的画面特效处理,而不对场景的漫游以及物体选择等等造成任何影响,你看到的以及漫游的依然是原来的场景,只不过加了特效而已。
因为在osg的渲染到纹理的例子中,都是主场景是一个camera,渲染到纹理是另外一个辅camera,漫游器一般控制的是主camera,我的一个朋友用在camera的更新回调中传入主camera变换矩阵的方式来实现我说的效果,但是总感觉这样怪怪的,总觉得会有潜在的问题,不知道有没有别的更好的更优美的实现方式?

该用户从未签到

发表于 2011-9-15 08:59:04 | 显示全部楼层
不用表述的这么复杂,我在osgXI这个工程里已经实现了大量的post-processing效果,只要简单的设置RTT相机为RELATIVE_RF,HUD相机为ABSOLUTE_RF就可以正常使用漫游器了。我的新书cookbook里也大量使用了这一方法,还专门提供了简单deferred shading实现的例子

该用户从未签到

 楼主| 发表于 2011-9-15 12:26:35 | 显示全部楼层
谢谢array大大,回去试试

该用户从未签到

发表于 2011-9-16 13:29:54 | 显示全部楼层
多谢了,一直也在关注这方面的实例
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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