查看: 963|回复: 1

图片突然变灰得问题?

[复制链接]

该用户从未签到

发表于 2011-4-14 17:16:08 | 显示全部楼层 |阅读模式
本帖最后由 akingbr 于 2011-4-14 17:32 编辑

我不知道有人遇到过类似得问题么, 非常奇怪.

1个月前, 我做1个demo得时候,需要自己计算多张动态图像,然后贴在一张
透明得QUAD上, 大概每间隔2~3秒切换一张计算出得图像, 然后出现一个
奇怪得问题就是: 第1次显示第1张图片得时候是正确得,彩色的, 然后紧接
着显示第2张时候, 图片自动就变成黑白色的了.

当时也没搞清楚怎么回事,就是把计算图像时候,分配osg::Image时候的
像素格式,GL_RGB, GL_RGBA, GL_RGBA8等一通乱试,好象是换
了其中一个就突然好了.我以为解决了.

但最近做一个类似"泡泡"的显示时候(利用OSG里的二维控件), 就找了
几个带alpha图片, 其中有很多张是很相似的,就是颜色不太同,然后
那个奇怪的问题又出现了, 就是弹出第1个泡泡的时候, 颜色正确,
但是,在弹出1次,颜色又直接变灰了, 经过反复测试,发现如果
第2次的泡泡和第一次一样或者很近似(仅仅颜色不同),就会变灰,
但是,如果换一张差异较大的泡泡时候,颜色就正常.


我不知道这是OSG bug, 还是我哪用的不对,两次出现的现象的共通
点就是:2次刷新的图片像素大都都是一样的,或者是很近似的(仅仅颜色不同,
或者是少许的像素值变化), 就直接变灰.

这个有没有什么解决思路提示下? 会不会和osg::image 缓存什么的
相关,比较困惑, 如果有类似情况经验的,或者明白啥原理的给指点
下解决思路.

谢谢了.

补充: 经过最新测试,如果关掉第一张图片,然后等个较长一段时间,
第2次再调用(相同或者相似)图片, 就不会出现这个问题. 难道
是因为释放问题? 代码已经关闭CACHE了, 每次都是从磁盘上
直接读了?

该用户从未签到

发表于 2011-4-15 09:15:25 | 显示全部楼层
您能否用代码而非大段的问题来表述您的问题?否则我完全无法从这些主观的判断中得到什么信息
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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