VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization. VTK includes many advanced algorithms (e.g., surface reconstruction, implicit modelling, decimation) and rendering techniques (e.g., hardware-accelerated volume rendering, LOD control). The JavaScript implementation remains a subset of the actual C++ library but efforts will be made to easily port or compile native VTK code into WebAssembly to better blend both worlds. vtk.js is a true rewrite of VTK in plain JavaScript (ES6). Therefore not everything has been rewritten.
The origin of VTK is with the textbook "The Visualization Toolkit, an Object-Oriented Approach to 3D Graphics" originally published by Prentice Hall and now published by Kitware, Inc. (Third Edition ISBN 1-930934-07-6). VTK has grown (since its initial release in 1994) to a world-wide user base in the commercial, academic, and research communities.
vtk.js aims to be a subset of VTK and provide 3D rendering using WebGL for both geometry and volume rendering.
If you have found a bug:
-
If you have a patch, please read the CONTRIBUTING.md document.
-
Otherwise, please join the one of the VTK Mailing Lists and ask about the expected and observed behaviors to determine if it is really a bug.
-
Finally, if the issue is not resolved by the above steps, open an entry in the VTK Issue Tracker.
In general VTK tries to be as portable as possible; the specific configurations below are known to work and tested.
vtk.js supports the following development environments:
- Node 8+
- NPM 6+
and we use @babel/preset-env with the defaults set of browsers target. But when built from source this could be adjusted to support any browser as long they provide WebGL.
See the documentation for a getting started guide, advanced documentation, and API descriptions.
See CONTRIBUTING.md for instructions to contribute.
VTK is distributed under the OSI-approved BSD 3-clause License. See Copyright.txt for details.