Documentation/Labs/VTK8
This page documents the update of Slicer to use VTK 8.0.
Contents
Overview
It is planned to update the version of VTK that Slicer uses from 7.1 to 8.0.
Status
- 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".
Branches/Merge Requests
VTK:
Slicer:
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
Tests
This section lists test failures on each platform for Release builds.
Windows:
Test results:
- TBD
Linux:
Test results:
- TBD
OS X:
Test results:
- TBD
Rendering backend
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
Open
- 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
Discussion
The transition plan was announced on the Slicer forum: https://discourse.slicer.org/t/transition-to-vtk-8-0/379.
Future work
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.