查看: 1324|回复: 4

如何手动立即删除image

[复制链接]

该用户从未签到

发表于 2010-12-31 10:49:40 | 显示全部楼层 |阅读模式
请教一下: 如何手动立即删除image?

非常感谢

该用户从未签到

 楼主| 发表于 2010-12-31 13:54:05 | 显示全部楼层
1楼 有问题

请教一下:如何删除 texture2D中的image?
是这样的---  我不断的 texture2D->setImage(image.get());造成内存不断上升,我现在想在每次setImage之前,先把原来的image删除,请问一下我该怎么做?

另一个问题:
osg::StateSet * stateset=geometry->getStateSet();
osg::Texture2D *texture=dynamic_cast<osg::Texture2D *>(
    stateset->getTextureAttribute(0,osg::StateAttribute::TEXTURE));
   osg::Image* image= texture->getImage();///这句中获得不到image 请问一下为什么?

非常感谢 您的回答

该用户从未签到

发表于 2011-1-4 09:22:07 | 显示全部楼层
有没有用setUnRefImageDataAfterApply?

该用户从未签到

发表于 2011-1-4 09:29:09 | 显示全部楼层
我不断的 texture2D->setImage(image.get());造成内存不断上升,我现在想在每次setImage之前,先把原来的image删除
当您设置了新的image的时候,原来的image已经被解除引用,如果它没有被其它任何对象引用的话,那么它会被自动删除

至于第二个得不到image的问题,请参看楼上的判断

该用户从未签到

 楼主| 发表于 2011-1-5 22:22:57 | 显示全部楼层
[quote]当您设置了新的image的时候,原来的image已经被解除引用

的确如此

非常感谢你们两位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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