Manual Z index ordering for Point Cloud Maximum Intensity Projection

I’d like to replicate the Maximum Intensity Projection (‘enhance high values’) feature of Leapfrog, which brings sparse points with high scalar values to the foreground. According to Cowan (2014) this is ‘easily’ achieved by using the z-index ordering capabilities of OpenGL, reordering de z index according to grade value instead of distance from the point of view, even when interacting with the scene. ¿Can z-ordering be accessed through the vtkOpenGLActor class, or is there a better way to achieve the same results?. If this can be done through Pyvista, much better.

Below are some figures that describe what I want to achieve.
Thanks!
From Cowan (2014):
image
Dense point cloud: not enhanced, low values block higher values at depth:
image
Dense point cloud: enhanced (MIP), higher values are brought to the foreground:
image

reference:
http://www.orefind.com/docs/default-source/orefind-research-papers-in-pdf/cowan_2014_xray.pdf