# VTK WebGPU Roadmap

**URL:** https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749
**Category:** Development
**Created:** [April 19, 2024, 3:12pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749 "2024-04-19T15:12:46Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [April 19, 2024, 3:12pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/1 "2024-04-19T15:12:46Z")

</div>

**Disclaimer: Please do not confuse the “web” with JavaScript. The goal is to use pure C webgpu header/implementations on desktop AND support web applications through webassembly** 🙂

Last year, we added experimental webgpu backend in VTK for rendering polydata. You can read more about it here- [https://www.kitware.com/vtk-webgpu-on-the-desktop/](https://www.kitware.com/vtk-webgpu-on-the-desktop/). The primary goal was to speed up rendering of really large number of actors and it was actually 1.6x faster than VTK’s OpenGL rendering subsystem.

In this post, I want to summarize the current status of webgpu desktop in VTK C++ and provide a listing of the action items planned for the rest of the year.

In VTK,

- The code lives in the VTK::RenderingWebGPU module.
- This module provides factory overrides for `vtkRenderWindow`, `vtkRenderer`, `vtkActor`, `vtkPolyDataMapper`, etc.
- An up to date guide of how to build VTK with Dawn is documented here **[VTK::RenderingWebGPU - VTK documentation](https://docs.vtk.org/en/latest/modules/vtk-modules/Rendering/WebGPU/README.html)**.
- It works on linux using X11 for window system and in a web browser with webassembly.
- There is **no** CI for webgpu.

| Action Item | Status |
| --- | --- |
| Use webgpu-native headers | To be done in 2024 |
| Dynamically load webgpu implementation at runtime | To be done in 2024 |
| WSI - x11 + vtkHardwareWindow | To be done in 2024 |
| WSI - macos + vtkHardwareWindow | To be done in 2024 |
| WSI - windows + vtkHardwareWindow | To be done in 2024 |
| WSI - html5 (emscripten) + vtkHardwareWindow | To be done in 2024 |
| WSI - wayland + vtkHardwareWindow | Future work |
| WSI - ios + vtkHardwareWindow | Future work |
| WSI - android + vtkHardwareWindow | Future work |
| WSI - wasi (wasi-webgpu) + vtkHardwareWindow | Future work |
| Shader customizations | To be done in 2024 |
| Compute shaders | To be done in 2024 |
| Volume rendering | Looking for funding |
| Speed up frustum culling with compute shader | To be done in 2024 |
| Speed up polygon tessellation with compute shader | To be done in 2024 |
| CI infrastructure with established webgpu implementations | To be done in 2024 |

\*\*: WSI=Window System Integration  
\*\*: @sankhesh took a stab at using webgpu-native headers and improving WSI support in [vtk/vtk!10239](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10239)  
\*\*: wasi= WebAssembly System Interface is a specification which tells how wasm can be used outside a web browser. wasi-webgpu is being designed here - [GitHub - WebAssembly/wasi-webgpu](https://github.com/WebAssembly/wasi-webgpu)

These items are tracked in the master issue here - [vtk/vtk#19315](https://gitlab.kitware.com/vtk/vtk/-/issues/19315)

Cc: @tom.clabault @lgivord @Thomas_Galland @sankhesh @cory.quammen @Francois_Mazen

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [April 19, 2024, 3:15pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/2 "2024-04-19T15:15:46Z")

</div>

Spectacular roadmap!

If I could suggest something, that would be to add CI as soon as possible before adding new features.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [April 19, 2024, 3:44pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/3 "2024-04-19T15:44:07Z")

</div>

> add CI as soon as possible before adding new features.

I agree that we have to prioritize this.

---

<div class="post-metadata">

### Author: ![omdaniel](https://discourse.vtk.org/user_avatar/discourse.vtk.org/omdaniel/32/8538_2.png) [@omdaniel](https://discourse.vtk.org/u/omdaniel)
#### Post date: [April 19, 2024, 3:59pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/4 "2024-04-19T15:59:04Z")

</div>

Is supporting wayland on linux a difficult challenge as several linux distros default to wayland? Would the user need to revert to x11 to be able to test this?

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [April 19, 2024, 4:03pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/5 "2024-04-19T16:03:04Z")

</div>

I do not know much about wayland protocol from a developer POV to comment. Any wayland sample applications? definitely should be future work imo.

---

<div class="post-metadata">

### Author: ![omdaniel](https://discourse.vtk.org/user_avatar/discourse.vtk.org/omdaniel/32/8538_2.png) [@omdaniel](https://discourse.vtk.org/u/omdaniel)
#### Post date: [April 19, 2024, 4:14pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/6 "2024-04-19T16:14:49Z")

</div>

Sound good, I see webGPU efforts as a future proof initiative for VTK with opengl being a legacy API (+ MacOS abandoned opengl), in a few years x11 may be considered a legacy protocol but will undoubtable still be on option for linux users who need it unlike opengl on MacOS, I know this is apples and oranges to even compare these.

---

<div class="post-metadata">

### Author: ![Jens\_Munk\_Hansen](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jens_munk_hansen/32/1215_2.png) [@Jens\_Munk\_Hansen](https://discourse.vtk.org/u/Jens_Munk_Hansen)
#### Post date: [April 19, 2024, 8:25pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/7 "2024-04-19T20:25:31Z")

</div>

I have just starting working with `WebGPU`, `WebGL` and `wasm`. In `VTK` we have `vtkSMPTools`. Would it be possible to create a new threading backend with posix-threads and populate this with web-workers?

I know this is not `WebGPU` but extremely relevant now that we speed up the rendering.

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)
#### Post date: [April 19, 2024, 9:19pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/8 "2024-04-19T21:19:12Z")

</div>

Could you shed some light on why volume rendering is singled out as “looking for funding”? Is it something much more difficult? Or not important for existing paying customers?

What is the price tag (rough estimate)?

Are some fixes or improvements planned as part of this effort? It could help with fundraising if it would make multi-volume rendering usable, RTX would be utilized, etc.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [April 19, 2024, 10:31pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/9 "2024-04-19T22:31:34Z")

</div>

Unimportant to our existing paying customers right now. We have submitted proposals regarding webgpu and volume rendering. Cc: @sankhesh and @jcfr

---

<div class="post-metadata">

### Author: ![Nicholas\_Yue](https://discourse.vtk.org/user_avatar/discourse.vtk.org/nicholas_yue/32/3751_2.png) [@Nicholas\_Yue](https://discourse.vtk.org/u/Nicholas_Yue)
#### Post date: [December 29, 2024, 8:10pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/10 "2024-12-29T20:10:30Z")

</div>

Closing out 2024, are you able to provide an update on the roadmap going into 2025 ?

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [December 30, 2024, 3:44pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/11 "2024-12-30T15:44:19Z")

</div>

@Nicholas_Yue

Thanks for your interest. Yes, we have been able to check off some items, thanks to one of our existing customers who was primarily interested in using webgpu backend in VTK.wasm applications.

Additionally, we are in the process of budgeting for wasm, and webgpu in VTK. We plan to implement most of the remaining items in 2025 🙂

This time around, we will be focusing more on the toolchain and integrating with various operating systems. Here’s the updated roadmap:

| Action Item | Status |
| --- | --- |
| Use webgpu-native headers | To be done in 2025 |
| Dynamically load webgpu implementation at runtime | To be done in 2025 |
| WSI - x11 + vtkHardwareWindow | To be done in 2025 |
| WSI - macos + vtkHardwareWindow | To be done in 2025 |
| WSI - windows + vtkHardwareWindow | To be done in 2025 |
| WSI - html5 (emscripten) + vtkHardwareWindow | To be done in 2025 |
| WSI - wayland + vtkHardwareWindow | To be done in 2025 |
| WSI - ios + vtkHardwareWindow | To be done in 2025 |
| WSI - android + vtkHardwareWindow | To be done in 2025 |
| WSI - wasi (wasi-webgpu) + vtkHardwareWindow | To be done in 2025 |
| Shader customizations | To be done in 2025 |
| Compute shaders | Done in 2024 |
| Volume rendering | To be done in 2025 |
| Speed up frustum culling with compute shader | Done in 2024 |
| Speed up polygon tessellation with compute shader | Done in 2024 |
| CI infrastructure with established webgpu implementations | Done in 2024 |

Blogs:  
[webgpu-compute-api-in-vtk](https://www.kitware.com/webgpu-compute-api-in-vtk/)  
[webgpu-occlusion-culling-in-vtk](https://www.kitware.com/webgpu-occlusion-culling-in-vtk/)

---

<div class="post-metadata">

### Author: ![sridhar-mani](https://discourse.vtk.org/user_avatar/discourse.vtk.org/sridhar-mani/32/9522_2.png) [@sridhar-mani](https://discourse.vtk.org/u/sridhar-mani)
#### Post date: [May 13, 2025, 4:43am UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/12 "2025-05-13T04:43:54Z")

</div>

> [@jaswantp](#):
>
> CI infrastructure with established webgpu implementations

Any plans or ideas to implement the web gpu compute api in the wasm sdk of vtk

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [May 13, 2025, 12:47pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/13 "2025-05-13T12:47:06Z")

</div>

You can use webgpu compute shaders from vtk-wasm-sdk in C++. For details, see [https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/WebGPU/doc/webgpu-compute-api-user.md?ref\_type=heads](https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/WebGPU/doc/webgpu-compute-api-user.md?ref_type=heads) and [https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/WebGPU/doc/webgpu-compute-api-dev.md?ref\_type=heads](https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/WebGPU/doc/webgpu-compute-api-dev.md?ref_type=heads).

---

<div class="post-metadata">

### Author: ![sridhar-mani](https://discourse.vtk.org/user_avatar/discourse.vtk.org/sridhar-mani/32/9522_2.png) [@sridhar-mani](https://discourse.vtk.org/u/sridhar-mani)
#### Post date: [May 21, 2025, 11:09am UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/14 "2025-05-21T11:09:49Z")

</div>

when i tried using it i got that error that dawn is not available but webgpu rendering was working fine. i was using the wasm 32 sdk image latest.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [February 10, 2026, 6:35pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/15 "2026-02-10T18:35:14Z")

</div>

Rough updated roadmap:

| Action Item | Status |
| --- | --- |
| Use webgpu-native headers | To be done in 2026 |
| Dynamically load webgpu implementation at runtime | To be done in 2026 |
| WSI - x11 + vtkHardwareWindow | Done in 2025 |
| WSI - macos + vtkHardwareWindow | Done in 2025 |
| WSI - windows + vtkHardwareWindow | Done in 2025 |
| WSI - html5 (emscripten) + vtkHardwareWindow | Done in 2025 |
| WSI - wayland + vtkHardwareWindow | Done in 2025 |
| WSI - ios + vtkHardwareWindow | To be done in 2026 |
| WSI - android + vtkHardwareWindow | To be done in 2026 |
| WSI - wasi (wasi-webgpu) + vtkHardwareWindow | To be done in 2026 |
| 2D Polydata Mapper | Done in 2025 |
| 3D Glyph Mapper | Done in 2025 |
| Texturing vtkActor | Done in 2025 |
| Shader customizations | To be done in 2026 |
| Compute shaders | Done in 2024 |
| Volume rendering | To be done in 2026 |
| Speed up frustum culling with compute shader | Done in 2024 |
| Speed up polygon tessellation with compute shader | Done in 2024 |
| CI infrastructure with established webgpu implementations | Done in 2024 |

---

<div class="post-metadata">

### Author: ![omdaniel](https://discourse.vtk.org/user_avatar/discourse.vtk.org/omdaniel/32/8538_2.png) [@omdaniel](https://discourse.vtk.org/u/omdaniel)
#### Post date: [February 10, 2026, 9:05pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/16 "2026-02-10T21:05:55Z")

</div>

No future work slated for 2027? Will WebGPU be feature complete relative to OpenGL when these Action Items are finished in 2026?

---

<div class="post-metadata">

### Author: ![sankhesh](https://discourse.vtk.org/user_avatar/discourse.vtk.org/sankhesh/32/73_2.png) [@sankhesh](https://discourse.vtk.org/u/sankhesh)
#### Post date: [February 12, 2026, 3:31pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/17 "2026-02-12T15:31:00Z")

</div>

Our development roadmap targets a functional native desktop implementation of core VTK mappers by the end of 2026. We intend to address advanced features and extended capabilities in 2027.

---

<div class="post-metadata">

### Author: ![sankhesh](https://discourse.vtk.org/user_avatar/discourse.vtk.org/sankhesh/32/73_2.png) [@sankhesh](https://discourse.vtk.org/u/sankhesh)
#### Post date: [April 2, 2026, 6:33pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/18 "2026-04-02T18:33:09Z")

</div>

Here’s a brief update on the VTK WebGPU roadmap and where things are headed:

**Q1 2026 (Jan–Mar)**

- Native desktop support for all Windows/MacOS/Linux platforms ([!12360](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12360))
- Initial Qt widget and interaction support (Draft: [!13004](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/13004))
- Lights and coincident topology support ([!13006](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/13006))
- Image mapper ([!12851](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12851))

**Q2/Q3 2026 (Apr–Sep)**  
The emphasis shifts to rendering quality and new capabilities:

- PBR rendering
- Coordinate shift/scale support
- Render passes on `vtkRenderer`
- Image mapping via `vtkImageSliceMapper`
- Volume rendering

**Q4 2026 (Oct - Dec)**

- Targeting **VTK v10.0.0** with WebGPU as the _default_ rendering backend.

**2027 and beyond**  
Once the core is in place, we’ll focus on additional mappers (e.g., sphere, surface LIC) and more advanced volume rendering and related features.

---

<div class="post-metadata">

### Author: ![will.schroeder](https://discourse.vtk.org/user_avatar/discourse.vtk.org/will.schroeder/32/233_2.png) [@will.schroeder](https://discourse.vtk.org/u/will.schroeder)
#### Post date: [April 6, 2026, 11:35am UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/19 "2026-04-06T11:35:30Z")

</div>

Also see the external blog post: [https://www.kitware.com/webgpu-one-graphics-api-to-rule-them-all/](https://www.kitware.com/webgpu-one-graphics-api-to-rule-them-all/)  
for more information on WebGPU.

---

<div class="post-metadata">

### Author: ![omdaniel](https://discourse.vtk.org/user_avatar/discourse.vtk.org/omdaniel/32/8538_2.png) [@omdaniel](https://discourse.vtk.org/u/omdaniel)
#### Post date: [April 13, 2026, 8:48pm UTC](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749/20 "2026-04-13T20:48:58Z")

</div>

Will the VTK webgpu backend plan to strictly adhere to the webgpu core specification or will optional features (extensions) be utilized where useful?

[Next page](https://discourse.vtk.org/t/vtk-webgpu-roadmap/13749.md?page=2)
