-
Utkarsh Ayachit authored
This commit cleans up the code that manages remote rendering. This fixes several issues: #15205, #17611, #18940, #18152, #18938, and #18937. #17815 is also addressed since its no longer applicable. ParaView no longer creates a single render window to use among all vtkPVView instances on non-client processes like pvbatch or pvserver, pvrenderserver. This shared render window was the root cause of several headaches and necessitated classes like vtkPVSynchronizedRenderWindows and extra burden on views to re-direct several calls like creating windows, resizing windows to vtkPVSynchronizedRenderWindows. This is no longer the case. Non-client processes still have a single viewable window per proceses (vtkPVProcessWindow). However, this is not the window that each view renders into. Instead, each view creates its own vtkRenderWindow subclass. However, it's a FBO-based render window which shares the context with the process specific render window (created in vtkPVProcessWindow). This makes it possible to simply blit back the rendering results from each view to the user-viewable window when needed (e.g. tile display, cave, etc.). `vtkPVSynchronizedRenderWindows` is now obsolete and removed with appropriate convenience API now moved over to vtkPVView. This also removes the need to initialize each view with a unique ID and hence `vtkPVView::Initialze()` API is no longer needed and hence removed. vtkIceTCompositePass was fixed to address several issues including tile display aspect ratios (#18152, #17611). vtkPVIceTCompositePass is no longer needed and hence removed which further simplifies the code.
ced8cf80