查看: 2094|回复: 7

请教一个关于 ive文件的问题

[复制链接]

该用户从未签到

发表于 2010-1-28 10:53:59 | 显示全部楼层 |阅读模式
看到别人做的项目里面,模型文件是 ive的, 整个场景包含无数个ive格式的模型。

加载时,只加载一个ive文件, 结构是树的形式。

就是说,有的ive文件里面只是路径信息,指向对应名称的一个文件夹;

文件夹里面,或是真正的ive的数据文件,或是指向下一个文件路径信息的ive文件。





请问,这种结构是怎么制作的啊? 是模型做好后导出时自动生成的,还是用什么工具制作的?

我该找哪方面的资料来看呢.......
ive.jpg

该用户从未签到

发表于 2010-1-28 11:03:20 | 显示全部楼层
使用PagedLOD或者ProxyNode节点,也就是说,在第一个文件中保存了下一级子节点的文件名,并且在运行过程中动态加载下一级的子节点。据此我们可以构建多种结构的动态调度的场景,例如四叉树,八叉树等

您只需要用vpb生成一个地形,就可以更深入地了解了。

该用户从未签到

 楼主| 发表于 2010-1-28 11:24:03 | 显示全部楼层
恩,多谢array.     

对这个vpb还不了解,我搜下看看....

另外: 我买的两本书 《OSG三维渲染引擎编程指南》《OSG三维渲染引擎设计与实践》中是不是没编入这方面的介绍啊, 好像没找到关于vpb的.....

该用户从未签到

 楼主| 发表于 2010-1-28 11:42:45 | 显示全部楼层
找到了点, 在最后一章。  呵呵,不好意思...
先研究研究~!     谢啦。

有搞不懂的地方再请教您哈

该用户从未签到

发表于 2010-2-5 15:31:08 | 显示全部楼层
我在学习OSG的范例中问什么无法加载.ive文件,加载其他类型就可以?我用的是2.8.2版本,是版本问题还是其他问题?

该用户从未签到

发表于 2010-2-8 08:15:05 | 显示全部楼层
是您自己的问题,请详细说明您遇到的情况

该用户从未签到

发表于 2010-2-8 09:18:10 | 显示全部楼层
在学习加载LOD的时候
        osg::ref_ptr<osg:OD> lod = new osg::LOD;
        osg::Node * node  = osgDB::readNodeFile("bunny-high.ive");        float   f = node->getBound().radius();
        lod->addChild(osgDB::readNodeFile("bunny-low.ive"), f*7,FLT_MAX);
        lod->addChild(osgDB::readNodeFile("bunny-mid.ive"), f*3, f*7);
        lod->addChild(node,0.0, f*3);
在加载osg::Node * node  = osgDB::readNodeFile("bunny-high.ive");时显示Node的指针为空;换成osg::Node * node  = osgDB::readNodeFile("cow.osg");就没有问题?

该用户从未签到

发表于 2010-2-8 11:18:17 | 显示全部楼层
检查是否存在bunny-high.ive这个文件,并使用osgviewer bunny-high.ive命令来尝试读入这个文件。如果都不能成功,那么可能文件已经损坏,或者您的库版本与文件版本差异太大。

ive格式是向下兼容的,但不能向上兼容。这一点和.osg格式不同。因此不排除2.6版本的osg无法读取2.8版本的ive模型的情况,请使用相同或者更高的版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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