Architecture

Rendering Architecture

The big picture of wgpu is as follows:

A simplified version is shown below:

A further simplified version:

Notes:

  • wgpu is able to create an interface through which we can reach any device with a GPU.

Notes:

  • The ability to use shared memory or the atomic instruction set of WASM comes by enabling compilation features.
  • threads support here does not introduce threads like we know them from Linux. It introduces
  • support for atomics like specified in a working draft to WebAssembly. Threads are simulated using WebWorkers by the browser.