To the best of my knowledge, osg has no real mechanism for determining if one node or subgraph completely occludes any other nodes. There's no way for it to know the geometry of a scene to detect holes, transparent sections of textures, or even per polygon depth checking without killing general performance. Per pixel depth checking is the graphics card's job.
On the other hand, if you're willing to help it out and provide clues (perhaps you are sure that a wall is solid), then you can drop occluder nodes into the scene. Those help culling by allowing it to do simple ray tracing through the corners of the occluder and ignore nodes that fall entirely behind it from a given perspective. Emphasis on entirely though, otherwise we get back to the original problem of having to do effectively what the graphics card does on every frame. I don't have much experience with occluders, but I'm pretty sure that the gist of how they operate. Chase > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:osg-users- > [EMAIL PROTECTED] On Behalf Of Paul Kahler > Sent: Wednesday, June 27, 2007 6:29 PM > To: [email protected] > Subject: [osg-users] Culling and performance scaling > > I've been poking around on the OSG site and the mailing list and it's > not clear to me how well OSG scales with geometric complexity (polygon > count). I understand view frustum culling and back-face culling, but > it's not clear to me if OSG can do more than that. For example, if I > have an entire town modeled with terrain, buildings, furniture, under > what conditions will OSG skip drawing a chair inside a room? > > Or more simply, what does OSG do to skip rendering objects obstructed by > other objects? > > Speaking theoretically: back-face culling eliminates about 1/2 of all > polygons. View frustum culling eliminates perhaps all but 1/4 of > polygons in a large city viewed from the middle of town. From a time > complexity standpoint this turns a O(n) problem where n is the number of > polygons, into O(n/8) which is really just k*O(n) = O(n). A constant > improvement but still linear. Does OSG do better? How? > > I understand that creating impostors and using LOD techniques can also > improve performance, but my question is strictly in regard to methods > that don't simplify geometry (i.e. culling). > > Thanks, > Paul > > > _______________________________________________ > osg-users mailing list > [email protected] > http://openscenegraph.net/mailman/listinfo/osg-users > http://www.openscenegraph.org/ _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
