''Part of OpenSceneGraph'' Cullvisitor is a 'subroutine' - actually a functor. Any visitor traverses a sceneview tree, and performs an action on each Node that occurs. the cull visitor detects whether the bounding sphere of the node is on the screen (for a field of view of 60 degrees about 1/6 of the total scene is visible) and the cull visitor removes nodes from being drawn that cannot be seen. Other visitors are supplied or can be user written for extended functions: intersect visitor - does a line segment intersect any part of the scene (for collisions) pick visitor - similar but takes a line derived from the current scene view to detect items which have been 'mouse picked' you could write a visitor to replace the textures, geometry of selected items. ''Ah, you're discussing the VisitorPattern and some form of branch pruning?'' ---- See GraphicsPatterns