osg.CollectOccludersVisitor类继承自osgUtil::CullVisitor,用于收集场景中的遮挡体。
CollectOccludersVisitor(osgUtil::CullVisitor *cv);
cv
,指向osgUtil::CullVisitor的指针。遍历场景节点并对遮挡体进行收集。
node
,要遍历的节点。将遮挡体添加到遮挡体集合中。
node
,遮挡体所属的节点。drawable
,遮挡体的Drawable。matrix
,遮挡体的变换矩阵。获取所有收集到的遮挡体。
osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("cow.osg");
osg::ref_ptr<CollectOccludersVisitor> cullVisitor = new CollectOccludersVisitor(new osgUtil::CullVisitor());
node->accept(*cullVisitor);
osg::ref_ptr<osgUtil::OccluderNode> occluderNode = new osgUtil::OccluderNode(cullVisitor->getOccluders());
occluderNode->addChild(node);