VTK.js
by Mike Colonna
Description
The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing, and visualization. VTK.js is a JavaScript implementation of the standard C/C++ VTK library. Its implementation consists of an ES6 JavaScript class library which can be integrated into any web application. The toolkit leverages WebGL and supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods. VTK is part of Kitware’s collection of commercially supported open-source platforms for software development.
VTK.js annoucement and overview.
A note on usage: The VTK.js library is currently undergoing development. As such, there is not a one-to-one correspondence of VTK functions and objects to VTK.js.
A note on VR usage: VTK.js apparently does support VR via OpenVR. However, the documentation to set up such a VR web app is sparse.
Official Resources
Official Documentation: VTK.js documentation
User Support: None
Installation Guide: Provide a link to the official installation guide or create one that you made on your own
Sample Datasets: VTK.js sample datasets
Source Code: Github source code
Example Usage: VTK.js examples
Usable Environments
Metrics
Accessibility: The estimated time for someone to create Hello World
Beginner: No coding or graphics experience | 1 hour
Intermediate: Some coding or graphics experience | 20 minutes
Advanced: Both coding and graphics experience | 10 minutes
Expert: A lot of experience with computer graphics, specifically with this software | <10 minutes
Power: The engine's power - i.e. how much one can do with this
Medium: VTK.js is a library mainly for enabling visualization of data on the web. As such, it ports the tools from VTK that are used specifically for the task of rendering. However, it does not span the breadth of VTK functionality, and lacks support for deeper functions like exporting models.
Usage: Evaluation of software's use for the following purposes
Game Design - N/A.
Education - VTK.js is great for educational data visualizations, and its ability to be added to any web page allows it to be consumed by anyone with an internet connection and functional browser.
Science - VTK.js supports a number of 3D model types and is great for visualizing data in a browser. For simple visualizations on the web, definitely consider it!
Recommended System Requirements
For viewing:
A modern browser (i.e. Chrome, Firefox) that supports WebGL 2
For project development:
Node.js
Webpack
APIs
Software Performance
Cost
Free (Open Source)