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/

Reply via email to