Choose one or more OpenGL rendering replacements
VTK needs to migrate away from OpenGL for rendering as vendors (esp. Apple) are dropping support for it.
There are several alternatives and VTK is designed to allow implementations for each, although it is unrealistic to expect funding exists to implement+maintain them all:
- ANARI is focused on ray-tracing rather than rasterization. It has support from many hardware vendors, but may not be a fully-functional replacement for some time.
- Dawn is a C++ implementation of the WebGPU standard. Its intended audience is browser developers (esp. Google Chrome), but can be used standalone. The benefit is that vtk.js implements rendering with WebGPU and most of this code could be easily adapted to C++.
- Vulkan has some preliminary work done in VTK but is not natively supported on all platforms (Apple does not support it directly; a third-party adaptor named MoltenVK does exist).
- Metal is an Apple-only compute-shader API. Because it is platform-specific, it is unlikely to be adopted.
- Direct3D v12 is a Windows-only compute-shader API. Because it is platform-specific, it is unlikely to be adopted.