The VTK development team is pleased to introduce VTK 6.3.0.
VTK 6.3 marks a transition point for VTK, after which development will begin to move to the new capabilities expected in 7 (notably faster rendering and wider adoption of fine-grained parallel filtering) in earnest. As such, the 6.3 release is somewhat a refinement of version 6.2, with bug fixes and compatibility updates. It does, however, have its own set of new features.
In terms of compatibility, VTK 6.3 now has support for MSVC 2013 and 2015. Note that the minimum required compiler versions have bumped to GCC 4.1 and Visual Studio 2008. Also be aware that VTK’s treatment of ghost levels (for distributed memory parallel processing) and blanking have changed significantly in this release. Kitware’s XML data file formats have changed to support the new structure. See http://www.kitware.com/blog/home/post/856 for details.
VTK’s text rendering continues to mature. Now, text rendering respects the DPI of the vtkWindow, and vtkAxis respects the TileScale setting of vtkWindow. Also, text annotations may now be attached to edges in a mesh. Note that the deprecated RenderingFreeTypeOpenGL module has been removed, as the functionality of this module has been replaced by the vtkTextRenderer and vtkTextMapper classes.
New features include a vtkPlotArea class for rendering 2D area/range plots and multitouch support in Qt widgets. VTK 6.3 allows for skipping NaN values in vtkDataArray::GetRange() and reading compressed TIFF files with sub-extents. It also enables writing side and node sets in Exodus files.
Parallelism continues to be a focus for VTK development work. There is a new multithreaded and higher-performing Gaussian splatter class for converting point clouds into volumetric data sets and an OpenMP backend for vtkSMPTools based multithreaded filters. vtkSampleFunction is now multithreaded, and the PLOT3D reader has an MPI-IO back end. Also, the AcceleratorPiston and AcceleratorDax modules have been deprecated in preparation for the unification of Dax, Piston, and EAVL into vtk-m (http://m.vtk.org/index.php/Main_Page).
Work continues on the OpenGL2 rendering backend. This is still considered in preview stage, but it is coalescing toward production readiness. The improved capabilities of the new OpenGL rendering backend include support for OpenGL version 3.2, geometry shaders, LIC, above and below range colors, picking indirection arrays, and coloring by FieldTupleId. It has also been demonstrated (and is tested nightly) on a wider range of platforms than it was before.
Finally, for developers who write code that works closely with VTK, we have added support for remote modules in the style of ITK remote modules (http://www.kitware.com/blog/home/post/557). Remote modules (http://www.vtk.org/Wiki/VTK/Remote_Modules) are a semi-structured way to make, revision control, and potentially share new code for VTK, without the full rigor of VTK’s core development and contribution process. Expect a more detailed description of this capability as we build up the supporting infrastructure around the core capability.
For the source, data, and vtkpython binary packages, please visit VTK’s website. For an upgrade and compatibility report, see the VTK Wiki’s roadmap page.
We hope you enjoy this release of VTK! Please try it out, and report any issues to the mailing list or the bug tracker. As always, you can contact Kitware for assistance leveraging VTK for your HPC and visualization needs.