[osg-users] Large number of occluder nodes

Robert Osfield robert.osfield at gmail.com
Thu May 31 09:44:00 PDT 2018

Hi David,

I wrote OccluderNode back in 2002 and haven't really touched it much
since, we get very few questions about it so I presume it isn't widely

The original goal of OccludeNode was for a small number of large
occludes to be placed in city scenes to cull out data when the eye
point is at ground level i,e cars/pedestrians.  The technique only
works well for large occluders relative to the size of objects being

So think an occluder geometry that goes down the centre of a block of
flats, ideally whole streets in one occluder geometry.  Having lots of
separate occluders is costly performance wise and is ineffective at
culling as objects have to be wholly within a single occluder for it
to work.

There are plenty of other ways to optimize databases, I don't know how
good your database is to start with or what knowledge you have of the
various techniques you can use.  Lots has been discussed over the
years about optimization so I won't start a lecture now


On 31 May 2018 at 16:00, David Heitbrink <david-heitbrink at uiowa.edu> wrote:
> I am using OccluderNode:
> for each "building" in config file{
>         auto &pnt_pair = vecs[i];
>         osg::OccluderNode* onode = new osg::OccluderNode();
>         osg::ConvexPlanarOccluder* occl = new osg::ConvexPlanarOccluder();
>         osg::ConvexPlanarPolygon& polly = occl->getOccluder();
>         vector<osg::Vec3> pnts;
>         ... get pnts from current building in custom config file
>         ... most often 4 points
>         for (unsigned int j =0; j < pnts.size(); j++){
>             polly.add(pnts[j]);
>         }
>         onode->setOccluder(occl);
>         m_group->addChild(onode);
> }
> The performance without the occluders is bad. Basically the rendering of buildings is not bad, its pretty quick even without the occluders. Where we get in trouble is with the parked cars, pedestrians and various scene clutter. These are relatively small objects, and lots of them have transparency.
> We want to add some form of OIT which should help us to avoid having some many depth sorted objects, but we are not there yet.
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=73903#73903
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

More information about the osg-users mailing list