查看: 4701|回复: 3

如何提高动态纹理贴图速度?

[复制链接]

该用户从未签到

发表于 2009-7-1 17:29:52 | 显示全部楼层 |阅读模式
问题1sg纹理贴图,是不是要2的n次幂?  非2的n次幂是不是会减慢纹理贴图的速度?
问题2:现在我利用osg例子程序osgtexture2D,来实现动态贴图,但是速度很慢,如何达到约每秒20帧的刷新速度?
问题3:在程序的纹理贴图中,我设置的问题是2的n次幂,与非2的n次幂在刷新速度上没有差别啊/

谢谢各位高手指教!

该用户从未签到

发表于 2009-7-1 18:52:23 | 显示全部楼层
非2的n次幂会在一定程度上降低效率,因为一般OpenGL都会对非2的幂的纹理进行一次转换,将其转换到2次幂。因此在浏览时没有差别。
至于速度很慢,您大可参照ImageStream类的实现。一个重要的原则是不要重复调用Image或者编译Texture对象。应当尽量实现渲染状态的共享

该用户从未签到

 楼主| 发表于 2009-7-2 10:54:54 | 显示全部楼层

纹理贴图

谢谢array的回答, 您所说的"一个重要的原则是不要重复调用Image或者编译Texture对象",这两项我都用了,我的意思是,现在我把每一帧的动画已经做了解码,然后setImage,现在我是自己做的解码工作,传递给osg的是图片帧,如果做成视频流的形式,我如何作处理呢?  因为我想对视频帧做处理, 所以自己做的解码工作.

该用户从未签到

发表于 2009-7-2 11:01:58 | 显示全部楼层
依然使用setImage就可以了,每帧更新您解码得到的图片以实现动画的效果。osg中的ImageSequence,以及几个视频插件都是这样实现的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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