查看: 2861|回复: 2

OSG的FBO方式,如何把GPU纹理渲染结果,传输到CPU的数组

[复制链接]

该用户从未签到

发表于 2013-2-21 18:56:58 | 显示全部楼层 |阅读模式
本帖最后由 CWorld 于 2013-2-21 19:04 编辑

问题:
        OSG的GPGPU计算, OSG的FBO方式,如何从GPU纹理计算结果,传输到CPU的数组

描述:

     使用FBO方式,渲染数据到纹理上, 比如Texture2D ,应用Shader进行计算,如何从把纹理中的数据关联到Image中,然后保存到硬盘上,

在OpenGL中对应的是:

   glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
   glReadPixels(0,0,texSize,texSize,texture_format,GL_FLOAT,data);

在OSG中的函数:
      virtual void operator () (osg::RenderInfo& renderInfo) const ()
函数该如何写,似乎没法指定 glReadbuffer() 这个帧缓冲对象,
   那么如何把Texture2D的数据保存到Image中,然后保存到硬盘上,请大牛指点?

该用户从未签到

发表于 2013-2-25 09:13:52 | 显示全部楼层
参看osgprerender例子,可以直接绑定到image对象

该用户从未签到

 楼主| 发表于 2013-2-26 15:55:16 | 显示全部楼层
array 发表于 2013-2-25 09:13
参看osgprerender例子,可以直接绑定到image对象

     感谢锐哥,问题已经解决,确实是绑定到Image对象, 结贴。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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