The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability.
VTK is part of Kitware’s collection of supported platforms for software development. The platform is used worldwide in commercial applications, as well as in research and development.
Homepage
Download
Recent Releases
9.4.004 Dec 2024 20:05
minor feature:
VTK 9.4.0 Release Notes.
Changes made since VTK 9.3.1 include the following.
New Features (#new-features).
Annotation (#annotation).
DataModel (#datamodel).
ExecutionModel (#executionmodel).
Filters (#filters).
Interaction (#interaction).
I/O (#io).
Python (#python).
Rendering (#rendering).
Testing (#testing).
ThirdParty (#thirdparty).
VR (#vr).
WebAssembly (#webassembly).
Wrapping (#wrapping).
Changes (#changes).
Build (#build).
DataModel (#datamodel-1).
Filters (#filters-1).
I/O (#io-1).
Rendering (#rendering-1).
Wrapping (#wrapping-1).
improvements (#improvements).
Accelerators (#accelerators).
Annotation (#annotation-1).
Build (#build-1).
Charts (#charts).
Core (#core).
DataModel (#datamodel-2).
Filters (#filters-2).
I/O (#io-2).
Interaction (#interaction-1).
Python (#python-1).
Rendering (#rendering-2).
System (#system).
VR (#vr-1).
Deprecations/Removals (#deprecationsremovals).
New Features:
Annotation:
boom: New `vtkPolarAxesActor2D` avaialble for drawing a polar axes overlay.
polar-axes2d (imgs/9.4/polar-axes2d.png).
DataModel:
boom: New `vtkImplicitArray` template class brings memory efficiency to vtk data array
applications. Author's note (9.4/add-vtkImplicitArrays.md).
The new `vtkAnnulus` implicit function represents an infinite annulus (two co-axial cylinders).
Author's note (9.4/annulus-implicit-widget.md).
boom: VTK now supports higher order Galerkin cells via a new data object `vtkCellGrid`. Author's
note (9.4/cell-grid-changes.md).
cell-grid-non-isoparametric (imgs/9.4/cell-grid-non-isoparametric.png).
ExecutionModel:
New information keys added to allow filters to execute without any prior temporal access for
in-situ visualization. Author's note (9.4/no-prior-temporal-access.md).
Filters:
New `vtkAppendPartitionedDataSetCollection` class to append multiple partitioned dataset
collections into a single partioned dataset collection. Author's note (9.4/add-append-PDC.md).
New `vtkCriticalTime` filter to generate time step values based on user-speci
9.3.103 Jul 2024 22:05
minor feature:
9.3.0 Release Notes.
Changes made since VTK 9.2.0 include the following.
changes).
Changes:
changes-build).
Build:
Compile for C++20 builds with gcc11.
Apply /utf-8 option for MSVC builds for standardization.
Headers `vtkBlockSortHelper.h` from `VTK::RenderingVolume` and.
vtkDIYKdTreeUtilities.h` from `VTK::FiltersParallelDIY2` are now installed.
The `vtk-config.cmake` CMake package no longer permits unknown components to
be listed and will report them as not found. This helps ensure the usability.
VTK::Component` when `VTK_Component_FOUND` is set.
The `vtk_encode_string` CMake API now supports the `ABI_MANGLE_SYMBOL_BEGIN`.
ABI_MANGLE_SYMBOL_END`, and `ABI_MANGLE_HEADER` arguments to specify a
mangling mechanism. Previously (where mangling was supported), it was
hard-coded to VTK's own mangling decisions.
Updated the vendored `fmt` library has been to 10.1.1.
The vendored `fmt` library has been updated to 10.1.1 to aid with C++17
compatibility.
changes-charts).
Charts:
Uniformize the `vtkPlot` API for color setters/getter, in order to fit the
API of `vtkPen` and `vtkBrush`. Methods using floating point parameters.
e.g. `vtkPlot::SetColor(double r, double g, double b)`) are now suf with `F` to avoid confusion with equivalent functions using unsigned chars.
The former ones are marked as deprecated.
vtkChartParallelCoordinates`'s default selection behavior has been
simplified. Multiple selection is no longer supported in `SELECTION_DEFAULT`.
changes-copyright).
Copyright:
SPDX information have been added and replace all previous copyright declaration
in all of VTK. See more information spdx-copyright on the process used.
spdx-copyright : https://gitlab.kitware.com/vtk/vtk/-/commit/987d39ac31203df75281f0ab4be135dfc3c42d89.
changes-core).
Core:
OSPRay has been disabled for older x86 _64 processors which do not support SSE4.1.
Removed hidden private dependency of `CommonCore` on `CommonDataModel`.
Nested parallelism has been disabled by default for all backends except
9.3.022 Jan 2024 19:37
major feature:
https://github.com/Kitware/VTK/blob/master/Documentation/release/
9.2.607 Jul 2023 14:19
minor feature:
9.1.011 Apr 2022 20:18
minor feature:
9.0.126 Jun 2020 06:45
minor feature:
Merge topic 'bump-patch' into release
ae38306 Move VTK release to 9.0.1.
Acked-by: Kitware Robot lt;kwrobot@kitware.com gt;.
Acked-by: Ben Boeckel lt;ben.boeckel@kitware.com gt;.
Merge-request: !7054.
9.0.003 May 2020 02:25
minor feature:
hdf5: update for Emscripten.
hdf5 2020-04-17 (fe71c833).
.
Merge branch 'upstream-hdf5' into hdf5-emscripten-support.
.
Virtualize vtkAxis::GenerateTickLabels() methods.
.
FindPEGTL: add find module.
.
pegtl: support finding an external pegtl library.
.
Merge topic 'pegtl' into release.
.
FindPython: update to sync with CMake 3.18.
.
Python: only require module support.
.
vtkWheelPreparation: only require Module support.
.
vtkWheelPreparation: force some VTK settings.
.
Wrapping/Python: skip interpreters for wheel builds.
.
Merge topic 'hdf5-emscripten-support' into release.
.
FindOpenGL: GLES component logic.
.
Merge topic '-find-opengl-with-gles' into release.
.
Merge topic 'vtkAxis-virtualize-generate-tick-labels' into release.
.
FindOpenGL: EMSCRIPTEN GLES library usage.
.
Merge topic 'findpython-cmake-3.18' into release.
.
Merge topic '-find-opengl-with-gles-emscripten' into release.
.
Correctly set the FullScreen flag with X.
.
Merge topic '-x' into release.
.
PrintSelf method call with uninitialized objects.
.
FindOpenGL: add EMSCRIPTEN special compilation definition.
.
Merge topic 'print-uninitialized-classes' into release.
.
Merge topic 'find-opengl-emscripten-flags' into release.
.
Use pixel scale for resize in Python Qt interactor.
.
missing release causing crash when OpenGL context change.
.
Re-enable the squadViewer test.
.
RenderingUI: remove dependency on libXt.
.
Merge topic 'squadviewer-test' into release.
.
Merge topic 'python-qwindow-scale' into release.
.
Merge topic 'missing-release' into release.
.
vtkModule: found optional components are required at install time.
.
vtkModule: handle dependencies from forward_link as well.
.
Utilities/Python: the python linking logic.
.
Utilities/Python: use PythonX::Module for the main target.
.
Merge topic 'backport-remove-libXt-dependency' into release.
.
Merge topic 'module-export-opt-components' into release.
.
libxml2: update for snprintf detection.
.
libxml2 2020-04-
9.0.0.rc321 Apr 2020 22:05
minor feature:
Merge topic '-x11' into release
0171d59 X11 with full screen.
Acked-by: Kitware Robot lt;kwrobot@kitware.com gt;.
Acked-by: Mathieu Westphal lt;mathieu.westphal@kitware.com gt;.
Merge-request: !6773.
9.0.0.rc205 Apr 2020 07:25
minor feature:
Force Java string conversion to UTF8
.
jsoncpp: update to include an Xcode 8.
jsoncpp 2020-03-02 (c19c7f54).
.
Merge branch 'upstream-jsoncpp' into jsoncpp-xcode8-support.
.
Merge topic 'jsoncpp-xcode8-support' into release.
.
examples: detect skipped tests as such.
.
examples: add a simple wrapping example.
.
examples: add a simple example that uses VTK.
.
Merge topic 'using-vtk-examples' into release.
.
plug a bad memory leak with value indexed materials.
.
Merge topic 'plug-an-valueindexed-material-memleak' into release.
.
exodus: bump tag for mangled symbols.
exodusII 2020-03-06 (48841041).
.
Merge branch 'upstream-exodusII' into update-exodus-name-mangling-rel .
.
Merge topic 'update-exodus-name-mangling-release' into release.
.
Handle.vtu files with unsupported offset and cell types.
.
vtkMFCWindow: translate to client space.
.
cmake: "convolution" spelling error.
.
docs: mention that TJ is now a release maintainer.
.
docs: remove Dave as a maintainer.
.
docs/build: mention that in-source builds are not supported.
.
Merge topic 'convolution-option-spelling-' into release.
.
Merge topic 'release-maint-list' into release.
.
docs/ModuleSystem: move anchors to their own line.
.
Doxygen: enable client-side searching.
.
Merge topic 'release--xml-connectivity-array' into release.
.
Merge topic 'build-docs-dir-structure' into release.
.
Merge topic 'doxygen-' into release.
.
deprecations: mark deprecations as starting in 9.0.
.
Merge topic 'deprecation-version-mentions' into release.
.
Error With Older CMake Versions.
.
FindPython: import from CMake 3.17.
.
python: always use the detected Python SOABI.
.
python: make FindPython results interactively editable.
.
Merge topic 'find-python-from-cmake-3.17' into release.
.
libxml: bump upstream tag for import.
.
libxml2 2020-03-17 (7cc913f1).
.
Merge branch 'upstream-libxml2' into bump-libxml2-release.
.
vtkWheelPreparation: macOS rpath settings.
.
cmake: set CMP0068 to use new macOS
9.0.0.rc120 Mar 2020 05:05
minor feature:
Update VTK-m to get GCC 6.1 compiler.
Merge topic 'update_vtkm_for_gcc_61_'.
.
Removed extraneous deoutput.
.
Merge topic 'RemoveDeOutput'.
.
Merge topic 'python38-int-deprecation'.
.
memory leak for Python reference parameters.
.
CTestCustom: ignore noisy warnings from icc.
.
Merge topic '17765-python-ref-leak'.
.
Merge topic 'intel-ignore-warnings'.
.
Merge topic 'intel-ignore-warnings' into paraview/release.
.
Merge branch 'paraview/release'.
.
CTestCustom: also ignore warnings from a max-size.
.
Merge topic 'better-icc-exclusions' into paraview/release.
.
Merge topic 'better-icc-exclusions'.
.
Merge branch 'paraview/release'.
.
Add more nullptr guards.
.
Improve handling of distinct cell types and its caching.
.
some with the PIO Reader.
.
Merge topic 'pio-reader-backwards' into paraview/release.
.
Merge topic 'pio-reader-backwards'.
.
Merge branch 'paraview/release'.
.
Merge topic '19603-clip-crash'.
.
Merge topic '19603-clip-crash' into paraview/release.
.
Merge branch 'paraview/release'.
.
FindTHEORA: avoid duplicate imported targets.
.
Merge topic 'find-theora-'.
.
Merge topic 'find-theora-' into paraview/release.
.
Merge branch 'paraview/release'.
.
xdmf3: update for a typo.
xdmf3 2019-12-16 (f5c5f92f).
.
Merge branch 'upstream-xdmf3' into update-xdmf3-typo.
.
vtkPartitionedArchiver: increase minimum buffer size.
.
Merge topic 'update-xdmf3-typo'.
.
Merge topic 'update-xdmf3-typo' into paraview/release.
.
Merge branch 'paraview/release'.
.
Merge topic 'increase-min-buffer-size'.
.
hdf5: update for a CMake 3.8 support.
hdf5 2020-01-28 (4a14edb2).
.
Merge branch 'upstream-hdf5' into hdf5-cmake-3.8-support.
.
exodusII: update for a GCC10.
exodusII 2020-01-28 (d97eb08d).
.
Merge branch 'upstream-exodusII' into exodus-gcc-10-support.
.
a VAO shader release.
vtkCommunicator: add api to gather vtkMultiProcessStream.
.
ing HDF5_HL Target In FindHDF5 Patch.
.
Documenting Linking Behavior.
.
Switch to using vtk if/ofstream
8.2.026 Sep 2019 00:14
minor feature:
https://blog.kitware.com/vtk-8-2-0/