|
发表于 2010-11-9 08:28:04
|
显示全部楼层
DatabasePager必须和PagedLOD节点配合使用,例如我们用PagedLOD读取外部文件作为细节层次:- plod->addChild( lowLevelNode ); // 使用addChild加入的节点将不会进行动态调度
- plod->setFileName( 1, "C:/data/midLevelNode.osg" );
- plod->setFileName( 2, "http://xxx.xxx/data/highLevelNode.osg" );
- plod->setRange( 0, ..., ... );
- plod->setRange( 1, ..., ... );
- plod->setRange( 2, ..., ... );
复制代码 此时OSG会自动用DatabasePager对来自不同数据源(本地和远程)的节点进行调度。例如,当视点和节点的距离在midLevelNode的范围内时,会加载本地的midLevelNode.osg文件;而视野范围超出时,根据用户系统当前的负荷能力,会自动决定是否将其卸载出内存,并适时再度加载——这是海量数据调度的必备方案 |
|