This page documents the update of Slicer to use VTK 8.0.
It is planned to update the version of VTK that Slicer uses from 7.1 to 8.0.
- Builds on Linux and Windows; Mac is untested. Test runs are in progress.
- EMSegment remote module will require updates to fix vtkDebugLeaks output.
- Running on Windows gives OpenGL errors at exit with the OpenGL backend. The OpenGL2 backend is untested.
- "VTKv7" project name needs to be updated to "VTKv8".
Outstanding VTK issues
- Should upstream fix to respect access specifier of using statements in wrapping
Slicer-specific VTK commits
Slicer's VTK 8.0 branch includes fixes/changes that aren't in upstream:
- Respect access specifier of using statements in wrapping
- ENH: Allow selection of seed points using vtkSeedWidget
- Ensure vtkVariant stream associated with << operator is set back to "dec".
- BUG: WIP: fix vtkPickingManager interaction with widgets
This section lists test failures on each platform for Release builds.
Although VTK 7 changed the default setting of VTK_RENDERING_BACKEND to OpenGL2, Slicer still explicitly sets it to OpenGL. Using the OpenGL2 backend in Slicer is untested and may require updates to properly build and function. This rendering backend in Slicer is set using Slicer_VTK_RENDERING_BACKEND.
OpenGL2 backend known issues
- Need to move OS X nightly build to new factory machine to be able to set CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7. This will ensure that the required OpenGL version is found. See https://github.com/Slicer/Slicer/pull/595.
- 4252: Slicer crashes on start when started through Windows Remote Desktop
The transition plan was announced on the Slicer forum: https://discourse.slicer.org/t/transition-to-vtk-8-0/379.
Future work in Slicer related to VTK 8 could include:
- Remove BTX/ETX markers.
- CHeck for and resolve build warnings in Slicer VTK classes.
- Check that settings in External_VTKv8.cmake are all still necessary, specifically VTK_USE_PARALLEL, and anything related to Qt.