|
楼主 |
发表于 2010-4-20 10:12:55
|
显示全部楼层
.osg文件使用的是纹理的相对路径,,同时,请确定你的环境变量里是否设置使用Images/reflect.rgb~~~~或者读取.osg时使用绝对路径的,这时你需要得到得到纹理并写出到指定目录,这样新的.osg才能找到~~~~~
FlySky 发表于 2010-4-19 19:16
我在读入文件的时候写出了纹理文件,但是写的时候怎么样才能将这个纹理和new.osg联系起来呢?- for (int i=0;i< geode.getNumDrawables();i++)
- {
- osg::Texture2D* tex = new osg::Texture2D;
- tex = dynamic_cast<osg::Texture2D*>(geode.getDrawable(i)->getStateSet()->getTextureAttribute(0, osg::StateAttribute::TEXTURE));
- osg::Image* img = tex->getImage();
- if(img)
- {
- osgDB::writeImageFile(*img,"tex.rgb");
- }
复制代码
以上是我写纹理的代码。 |
|