查看: 815|回复: 4

关于osgSim::Impostor的图像清晰度

[复制链接]

该用户从未签到

发表于 2014-2-19 16:34:04 | 显示全部楼层 |阅读模式
系统中考虑使用osgSim::Impostor替代结点来提高大场景数据的运行效率,初步测试效率确实有提高,但是替代场景的图像过于模糊,请问有没有办法可以控制图像的清晰度?
osgSim::Impostor类中似乎没有提供现成接口,那这个图像清晰度是怎么控制的呢?

前.jpg

替代后

替代后

该用户从未签到

发表于 2014-2-27 09:45:17 | 显示全部楼层
imposter的分辨率是根据当前窗口大小自动计算的,如果您觉得这个自动值不理想,那么可能只能自行重新实现createImpostorSprite函数

该用户从未签到

 楼主| 发表于 2014-2-27 10:51:05 | 显示全部楼层
array 发表于 2014-2-27 09:45
imposter的分辨率是根据当前窗口大小自动计算的,如果您觉得这个自动值不理想,那么可能只能自行重新实现cr ...

好的,谢啦,您如果有时间的话,再看下这个帖子的问题呢,麻烦了
http://bbs.osgchina.org/forum.ph ... &extra=page%3D1

该用户从未签到

发表于 2014-2-28 11:13:06 | 显示全部楼层
本帖最后由 lovelypirlo 于 2014-2-28 11:29 编辑
array 发表于 2014-2-27 09:45
imposter的分辨率是根据当前窗口大小自动计算的,如果您觉得这个自动值不理想,那么可能只能自行重新实现cr ...


感谢Array老师的指点,我在重写createImpostorSprite遇到了一些问题,还想继续请教一下:

其中有一步是texture->setTextureSize(new_s, new_t);

我将这两个数值调小,图像会变得更模糊,调大却没有变得更清晰。。。

后面还有一步,利用impostorSprite的相机:camera->attach(osg::Camera::COLOR_BUFFER, texture);

是否可以设置多个相机,最后将attach的texture合并为一张清晰的大图?

该用户从未签到

发表于 2014-3-14 03:42:59 | 显示全部楼层
不能的,除非再多一个pass将它们渲染到另一张纹理上。不过我估计是您之前的某个步骤出现了问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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