public void FindVisibleObjects( Camera cam, VisibleObjectsBoundsInfo visibleBounds, bool onlyShadowCasters )
{
// clear the render queue
renderQueue.Clear();
// clear the list of visible nodes
visibleNodes.Clear();
// turn off sky
EnableSky( false );
// remove all extra culling planes
( (PCZCamera)cam ).RemoveAllExtraCullingPlanes();
// increment the visibility frame counter
//mFrameCount++;
frameCount = Root.Instance.CurrentFrameCount;
// update the camera
( (PCZCamera)cam ).Update();
// get the home zone of the camera
PCZone cameraHomeZone = ( (PCZSceneNode)( cam.ParentSceneNode ) ).HomeZone;
// walk the zones, starting from the camera home zone,
// adding all visible scene nodes to the mVisibles list
cameraHomeZone.LastVisibleFrame = frameCount;
cameraHomeZone.FindVisibleNodes( (PCZCamera)cam,
ref visibleNodes,
renderQueue,
visibleBounds,
onlyShadowCasters,
displayNodes,
showBoundingBoxes );
}