Visibility check

Hmm, I dont know about actual frustum vs boundingvolume checks, but you can check if a point is in the frustum by doing:

base.cam.isInView(point)

You can also create a bounding volume for the frustum and check if it collides with the bounding volume of the object:

lensBounds = base.camLens.makeBounds()

intersectFlags = lensBounds.contains(nodePath.getLens())

where intersectFlags will be a set of flags indicating how the volumes are intersecting. See here:
panda3d.org/apiref.php?page=Geom … dingVolume

There’s probably a better way for this, though.