How to get vtkShaderProgram* of an actor?

Alternatively, you could subclass the vtkShader you are using and add setter/getter to add a pointer to whatever object you need to recover in the callback. This is a bit cleaner than bookkeeping.