|
5 | 5 | Not a lot here yet. More will come over time.
|
6 | 6 |
|
7 | 7 |
|
8 |
| -A brief history of WGPU |
9 |
| ------------------------ |
| 8 | +A brief history of WebGPU |
| 9 | +------------------------- |
10 | 10 |
|
11 | 11 | For years, OpenGL has been the only cross-platform API to talk to the GPU.
|
12 | 12 | But over time OpenGL has grown into an inconsistent and complex API ...
|
13 | 13 |
|
14 | 14 | *OpenGL is dying*
|
15 | 15 | --- Dzmitry Malyshau at `Fosdem 2020 <https://fosdem.org/2020/schedule/event/rust_webgpu/>`_
|
16 | 16 |
|
17 |
| -In recent years, modern API's have emerged that solve many of OpenGL's problems. |
18 |
| -You may have heard of them: Vulkan, Metal, and DX12. These API's are |
19 |
| -much closer to the hardware. Unfortunately, the huge amount of "knobs |
20 |
| -to turn" makes them quite hard to work with for developers. |
| 17 | +In recent years, modern API's have emerged that solve many of OpenGL's |
| 18 | +problems. You may have heard of them: Vulkan, Metal, and DX12. These |
| 19 | +API's are much closer to the hardware, which makes the drivers more |
| 20 | +consistent and reliable. Unfortunately, the huge amount of "knobs to |
| 21 | +turn" also makes them quite hard to work with for developers. |
21 | 22 |
|
22 | 23 | Therefore, people are working on a higher level API, that wraps Vulkan/Metal/DX12,
|
23 |
| -and uses the same principals, but is much easier to work with. This is the |
24 |
| -`WebGPU spec <https://gpuweb.github.io/gpuweb/>`_. This is what future devs |
| 24 | +using the same concepts, but is much easier to work with. This is the |
| 25 | +`WebGPU specification <https://gpuweb.github.io/gpuweb/>`_. This is what future devs |
25 | 26 | will be using to write GPU code for the browser. And for desktop and mobile.
|
26 | 27 |
|
27 |
| -As WebGPU spec is being developed, a reference implementation is also |
28 |
| -being build. It's written in Rust, and is powering the WebGPU implementation in Firefox. |
29 |
| -This reference implementation, called `wgpu-native <https://github.com/gfx-rs/wgpu>`_, |
30 |
| -also exposes a C-api, which means that it can be wrapped in Python. And this is what |
31 |
| -wgpu-py does. |
| 28 | +As the WebGPU spec is being developed, a reference implementation is |
| 29 | +also build. It's written in Rust and powers the WebGPU implementation in Firefox. |
| 30 | +This reference implementation, called `wgpu <https://github.com/gfx-rs/wgpu>`_, |
| 31 | +also exposes a C-api (via `wgpu-native <https://github.com/gfx-rs/wgpu-native>`_), |
| 32 | +so that it can be wrapped in Python. And this is precisely what wgpu-py does. |
32 | 33 |
|
33 |
| -So in short, wgpu-py is a Python wrapper of wgpu-native, which is a wrapper |
34 |
| -for Vulkan, Metal and DX12, which are low-level API's to talk to the GPU hardware. |
| 34 | +So in short, wgpu-py is a Python wrapper of wgpu, which is an desktop |
| 35 | +implementation of WebGPU, an API that wraps Vulkan, Metal and DX12, |
| 36 | +which talk to the GPU hardware. |
35 | 37 |
|
36 | 38 |
|
37 |
| -Getting started with WGPU |
38 |
| -------------------------- |
| 39 | +Getting started with WebGPU |
| 40 | +--------------------------- |
39 | 41 |
|
40 | 42 | For now, we'll direct you to some related tutorials:
|
41 | 43 |
|
|
0 commit comments