Increase rendering efficiency
Many updates to classes derived from vtkWindow
resulted in computing the vtkWindow::TileSize
on change in Size
or TileScale
. vtkWindow::Size
had to be made private instead of protected to ensure that the computation would happen correctly on change. Also, getting the pointer to the Size
variable had to be made to return a const pointer to actually protect the variable (as it was before, it may have well have been public).
Add overloads of vtkViewport::ViewToDisplay and vtkViewport::WorldToDisplay that do not modify the vtkViewport, and, therefore, will not trigger a modified event. Caches of the camera's ProjectionTransformMatrix and CompositeProjectionTransformMatrix in vtkRenderer are made and used to increase efficiency of multiple calls that transform points to different coordinate systems without updating the camera or aspect. vtkRenderer now caches the camera ViewTransformMatrix and only updates if the camera changes vtkViewport::ComputeAspect the aspect is now only recomputed when the window size, viewport, or pixel aspect changes