求助:写入 ive时,模型纹理丢失
我向场景中加载了 某个模型(ive)后,调整模型的大小和方位,此时模型显示正常(纹理正确),然后用osgDB::WriteNodefile保存模型(ive),发现纹理丢失。将该模型转为osg后,发现纹理文件(file)丢失。请教大家:导致ive模型写出时,纹理丢失的可能原因,谢谢。 写出之前检查一下getImage()是否能得到正确的Image对象,以及Image对象是否保存了正确的像素数据。有可能是内部的优化机制导致Image对象在运行时载入显存后被自动释放以节省CPU空间,可以设置对象为STATIC以避免这一情况 写出之前纹理已经丢失了~~~~:loveliness:然后我就在模型加载时,设置节点对象为STATIC
结果仍然是一样的(纹理消失)
我再找找原因
希望明天能来结贴:) 设置Image为STATIC,而不是节点 问题已经解决了:)
谢谢 设置Image为STATIC,而不是节点
array 发表于 2010-1-5 09:01 http://bbs.osgchina.org/images/common/back.gif
我使用的是DYNAMIC。。。。 都可以,总之这样就不会被优化机制处理掉了 关于这个问题的几个疑问:
1.OSG内部优化机制中,会对什么样的IMAGE对象采用优化机制。在实践中发现,不是所有的模型都会出现上述这种情况。
2.优化处理后的模型纹理(在显存中的)是否能遍历得到,如果能的话,我想应该也可以保存得到正确的结果。 对于没有设置为STATIC或者DYNAMIC的图像,当它预编译存入显存后,将被自动剔除
显存中保存的纹理数据是不能遍历得到的,除非readPixels 请问你如何解决的?我又遇到这类问题了 setUnRefImageDataAfterApply csu_zjh 发表于 2010-1-5 10:23
我使用的是DYNAMIC。。。。
你好,我现在遇到同样的问题,请问在哪里设置image为static array 发表于 2010-1-5 09:01
设置Image为STATIC,而不是节点
您好,请问怎么设置image为static array 发表于 2010-1-4 15:38
写出之前检查一下getImage()是否能得到正确的Image对象,以及Image对象是否保存了正确的像素数据。有可能是 ...
array你好,我想问问ive格式的数据,里面的纹理是什么格式?在writeNodeFile时,默认是保存成ive格式吗?ive内部纹理也是默认格式吗?比如默认bmp是吗?
页:
[1]