Webinar details redesigned rendering backend of open-source toolkit.
To accompany the Visualization Toolkit (VTK) 7.0 release that occurred at the end of January, Kitware made a recording of its release webinar available to members of the visualization community. Kitware hosted the webinar live on February 3, 2016, to offer exclusive insights into the latest VTK developments.
During the webinar, David DeMarle, a lead developer of VTK at Kitware, discussed the new default OpenGL backend that allows VTK to render larger and more complex visualizations with millions of primitives. The updated backend also increases speed as much as 350 times, reduces the system memory footprint, and provides users with fluid interaction and instantaneous feedback when drawing models, performing molecular and volume rendering, and implementing immersive environments in VTK.
“On Linux, with an NVIDIA K5200 graphics card, the initial render time for one of the benchmark tests included with VTK dropped from over 14 seconds to under two seconds for 20 million shaded triangles,” DeMarle said. “The render time for subsequent frames dropped from almost six seconds down to two-hundredths of a second, on average. To top it all off, VTK used less system memory in the test than it would have with the old backend. We saw similar performance improvements with other OpenGL implementations/drivers including Mesa3D and OpenSWR.”
Development on the backend began in 2014. The VTK team focused on enhancing rendering performance and on increasing the compatibility of the toolkit with mobile operating systems such as iOS and Android. In particular, Kitware collaborated with NVIDIA on Embedded-System Graphics Library (EGL) rendering compatibility as well as with Intel on OpenSWR and OSPRay efforts. The resulting enhanced capability of the new VTK backend has already benefited ParaView, tomviz, and Computational Model Builder. An upcoming release of 3D Slicer will benefit from the backend as well.
As noted in the webinar, more than 70 community members participated in the 7.0 release. Thanks primarily to the work of longtime contributor David Gobbi, VTK became compatible with Python 3. Other work introduced algorithms based on Flying Edges to cut contour extraction times for large meshes from minutes down into the sub-second range.
“VTK 7.0 sets the tone for the next round of updates, which will further enhance rendering capabilities as well as multi- and many-core processing capabilities,” DeMarle said. “Users can expect to see these updates come to fruition over the next couple of releases and to have releases come out more frequently than in the past.”
For more details on VTK 7.0 and to download the latest version of the toolkit, please visit http://www.vtk.org.
VTK is an open-source, freely available software system for three-dimensional (3D) computer graphics, modeling, image processing, volume rendering, scientific visualization, and information visualization. Originally written as part of the textbook “The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics,” the toolkit employs Kitware’s quality software process based on CMake to produce robust code. Today, commercial as well as research and development applications throughout the world use VTK. These applications include ParaView, 3D Slicer, VisIt, VisTrails, MayaVi, and OsiriX.
Kitware provides support for VTK through custom consulting, training, and documentation resources. To learn how to leverage VTK and Kitware’s expertise in high-performance computing and visualization, please contact kitware(at)kitware(dot)com.
Research reported in this publication was supported by the National Institute Of Biomedical Imaging And Bioengineering of the National Institutes of Health under Award Number R01EB014955. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health.
This material is based upon work supported by the Department of Energy under Award Number(s) DE-SC0007440.
This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.