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

I’m also very interested in this application! As maximum intensity projection is already available for volume rendering (e.g., 3D Slicer) in vtk, it seems as though the basic machinery is in place and that it wouldn’t be too challenging to port over the same approach for 3D scatters/point clouds or objects rendered from the vtkPolyData class. However, it appears that, even two years after the post above, this has not been done. Might anyone have suggestions on where to start?