查看: 1856|回复: 8

osg如何操作colorbuffer

[复制链接]

该用户从未签到

发表于 2009-5-5 09:51:50 | 显示全部楼层 |阅读模式
如何在swapbuffer之前对osg中的colorbuffer进行读取,对读取的内容进行处理,并将处理后的内容重新写入colorbuffer?

该用户从未签到

发表于 2009-5-5 09:56:57 | 显示全部楼层
可以考虑在Camera:: PostDrawCallback中实现此类操作

该用户从未签到

 楼主| 发表于 2009-5-5 13:48:51 | 显示全部楼层
请教了,问题是怎么去操作这个缓冲区?用什么函数来作,又用哪个函数来写这个缓冲区?

该用户从未签到

发表于 2009-5-5 14:54:33 | 显示全部楼层
在PostDrawCallback中,可以使用Image:: readPixels读入缓冲区数据到Image对象中,再操作Image::data()的内容,readPixels函数的用法和glReadPixels完全相同;

至于写入,我个人认为可以用osg:: DrawPixels,它封装了OpenGL函数glDrawPixels的内容,所需写入的内容修改自readPixels读入的同一个Image对象即可。

不过具体的流程还是比较麻烦的,楼主不妨多加思考和实验,再把自己的成果与大家分享

该用户从未签到

 楼主| 发表于 2009-5-5 15:35:43 | 显示全部楼层
恩谢了,这样的速度会不会太慢了点?

该用户从未签到

发表于 2009-5-5 15:52:28 | 显示全部楼层
您的操作既然这么要求,我想也只有这种方式。速度上也许并非不可以接受,需要实验才知道

该用户从未签到

 楼主| 发表于 2009-5-5 16:15:11 | 显示全部楼层
谢谢,请问ARRAY,有没有osg多通道渲染方面的资料,有关几何校正和边缘融合的?

该用户从未签到

发表于 2009-5-5 16:24:23 | 显示全部楼层
我手头没有

该用户从未签到

发表于 2009-5-5 20:48:29 | 显示全部楼层
如果OpenGL的功底可以的话 可以用OpenGL的代码直接实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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