查看: 1705|回复: 5

osg纹理问题

[复制链接]

该用户从未签到

发表于 2010-2-23 17:28:27 | 显示全部楼层 |阅读模式
请问在osg中能否直接修改纹理对象的数据?

该用户从未签到

发表于 2010-2-24 08:47:38 | 显示全部楼层
可以,不过情况比较复杂;视您的需求,需要具体问题具体分析

该用户从未签到

 楼主| 发表于 2010-2-24 13:36:11 | 显示全部楼层
谢谢 array的回答,我的具体需求是,首先取出osg纹理对象的某个数据或某一块数据,再把取出的纹理数据和外面已存在的图像数据混合,最后再把混合后的数据写回纹理数据中!!不知道这样的操作在osg中能否支持。
还有就是这些操作都是在操作显存还是怎么回事,因为需要实时性的要求,如果操作在内存中进行的话估计又比较卡!!!

该用户从未签到

发表于 2010-2-24 14:15:29 | 显示全部楼层
您可以在更新之后把新的Image对象直接setImage给Texture实例,注意这个Texture对象应当是DYNAMIC的。直接操作显存是不可能的,OpenGL不会支持。

该用户从未签到

 楼主| 发表于 2010-2-24 15:32:58 | 显示全部楼层
更新之后把新的Image对象直接setImage给Texture实例这种方法在OSG上游实例,不过貌似速度太慢,我在自己的本上跑粒子也就4帧的样子,在显卡稍微好点的台式机上也才20多帧,如果再加上其他的计算估计会更慢!!!麻烦呀, array兄弟 不知道shader能不能直接操作?

该用户从未签到

发表于 2010-2-24 15:43:32 | 显示全部楼层
使用Shader来做当然是可以的,用两个Sampler2D对象来作为纹理显示的前后台即可;不过纹理数据的编译过程还是免不了的。速度不会慢到哪里去,除非您的纹理尺寸过大,或者一些工作步骤有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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