The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization used by thousands of researchers and developers around the world. VTK consists of a C++ class library, and several interpreted interface layers including Python, Tcl/Tk and Java. Professional support and products for VTK are provided by Kitware, Inc. (www.kitware.com) VTK supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as implicit modelling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. In addition, dozens of imaging algorithms have been directly integrated to allow the user to mix 2D imaging / 3D graphics algorithms and data.
If you want to learn how to use or develop VTK, please see Learning VTK
- Where can I download VTK?
- Where can I download a tarball of the nightly HTML documentation?
- How do I build the Doxygen documentation?
- Where can I get VTK Datasets?
Projects/ Tools that use VTK
- What are some projects using VTK?
Summary of Changes
VTK 6.2 (git master)
- Under Cocoa, removed "-fobjc-gc" as a default compiler flag. VTK still supports Cocoa garbage collection, but you must specify it yourself now.
- Added a reader/writer for NIFTI image files.
- Volume Rendering rewrite
- Move to use CMake's external data support over VTKData
- OpenGL error detection and reporting macros and error cleanup
- API for dealing with OpenGL driver bugs
- Enable rendering with OSMesa where possible
- Surface LIC parallelization and features for interactive tuning
- SMP framework introduced to make shared memory parallel development
- Fixed compiler/linker errors when building against OS X 10.9 SDK. Fixed other errors building against llvm's libc++.
- Support for unicode text when a suitable font file is used in vtkTextProperty.
- Wrapper support for header files with C++11 syntax.
- Better Java support and install rules
- Depth peeling support for ATI devices
- Ctests generate a stacktrace on POSIX systems in response to catastrophic failure such as abort or segfault.
- Qt5 support
- API Diff Report
- VTK 6 API Migration Guide
- VTK 6 (build system) Migration Guide
- VTK 6 Module Development
- Remove VTK 4 compatibility layer from pipeline
- Temporal support changes
- Composite data structure changes
- API Diff Report
- Change unicode readers/writers to register as codecs (finished Oct 29 2010)
- New image rendering classes (start Dec 15 2010, finish Mar 15 2011)
- Image interpolators (start Jun 20 2011, finish Aug 31 2011)
- Projects from Google Summer of Code 2011
- List of new classes in 5.10
- API Diff Report
- Polyhedron cells and MVC Interpolation
- Reeb Graphs
- Clipping of closed surfaces (start Mar 26, 2010, finish Apr 22, 2010)
- New wrappers (start Apr 28, 2010)
- Improved image stencil support (start Nov 3, 2010)
- MNI file formats
- List of New Classes
- VTK Multi-Pass Rendering
- Multicore and Streaming
- Array Refactoring
- 3DConnexion Devices Support
- New Charts API
- New Cell Picker and Volume Picking (start Nov 2010, finish Feb 2010)
- VTK Java Wrapping
- Composite Data Redesign
- VTK Shaders
- Shaders in VTK
- VTK with Matlab
- VTK Time support
- VTK Graph Layout
- VTK Depth Peeling
- Using VTK with JRuby
The VTK Community is upgrading its development process. The current process using Git can be found at the VTK Git page. We are doing this in response to the continuing and rapid growth of the toolkit. A VTK Architecture Review Board VTK ARB is being put in place to provide strategic guidance to the community, and individuals are being identified as leaders in various VTK subsystems.
Have a question or topic for the ARB to discuss about the future of VTK? First, please bring the topic to the VTK developers mailing list. If the issue is not resolved there or needs further planning or direction, you may enter a suggested topic for discussion.
We have started collecting works in progress as well as future ideas at NextGen. Please add anything you are working on, would like to collaborate on, or would like to see in the future of VTK!