Parallel Split Shadow Mapping using PSSMCameraRig

@eldee: Thanks for the workaround. This works as expected with the multi-threaded pipeline.
The PSSM algo provides:

  • a real visual quality improvement for the dir light shadows (even with filtering methods)…
  • …without requiring (very) large shadowmap texture!

@rdb: thanks, and good to know for the PTAs, I was not aware there were not pipeline-cycled.

One small suggestion if I may (please tell me if that would make sense):

pssmCameraRig::update() requires to have a camera built on the same way as the base.camera from Showbase (see pssmCameraRig.cxx l. 372)

Camera* cam = DCAST(Camera, cam_node.get_child(0).node());

When you use a camera NP alone directly parented to render (as the one generated by a call to base.make_camera()), there is an assert error (which is normal considering the test done just after the DCAST() to Camera). A possible workaround is 1/ to update base.camera with the transform/lens of the current camera and 2/ pass base.camera as the PSSM camera in update()

However, would it possible/suitable to add a test prior to ensure we have a proper NP that could be downcasted to a camera but without using a prior call to get_child(0)?