|
本帖最后由 tanhw 于 2014-5-8 09:09 编辑
有大量点云需要显示, 按照pagedlod及四叉树方式进行组织, 组织方式如下图所示。 node0是点云按照100分之一抽稀后的点, node1-node4是按照20分之一抽稀后划分的四块, node1-1,node1-2,node1-3,node1-4是其中一块划分的未抽稀的点, 程序如下:
osg::Group * root=new osg::Group;
osg::Group * models=new osg::Group;
root->addChild(models);
osg::ref_ptr<osg:agedLOD> lod=new osg::PagedLOD;
lod->setFileName(0,"node0.osg");
lod->setRange(0,100000,10000000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node1.osg");
lod->setRange(0,1000,100000);
models->addChild(lod1);
lod=new osg::PagedLOD;
lod->setFileName(0,"node2.osg");
lod->setRange(0,1000,100000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node3.osg");
lod->setRange(0,1000,100000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node4.osg");
lod->setRange(0,1000,100000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node1-1.osg");
lod->setRange(0,0,1000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node1-2.osg");
lod->setRange(0,0,1000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node1-3.osg");
lod->setRange(0,0,1000);
models->addChild(lod);
lod=new osg::PagedLOD;
lod->setFileName(0,"node1-4.osg");
lod->setRange(0,0,1000);
models->addChild(lod);
node2-1.osg
node2-2.osg
node2-3.osg
node2-4.osg
。。。
图可以正常显示,请教:这么组织对吗?疑问是node1和node1-1,node1-2,node1-3,node1-4之间好像没建立联系,当node1范围在0,1000比例下时是不是会除了遍历node1-1,node1-2,node1-3,node1-4外还会遍历所有的点?
|
-
-
|