wgpu-rs VS gpuweb

Compare wgpu-rs vs gpuweb and see what are their differences.

wgpu-rs

Rust bindings to wgpu native library (by gfx-rs)

gpuweb

Where the GPU for the Web work happens! (by gpuweb)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
wgpu-rs gpuweb
16 61
1,699 4,686
- 1.1%
9.0 9.4
about 3 years ago 1 day ago
Rust Bikeshed
Mozilla Public License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

wgpu-rs

Posts with mentions or reviews of wgpu-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-04-30.
  • Using WGPU + crates directly or Bevy?
    1 project | /r/rust_gamedev | 4 Jul 2022
    You could start with one of examples from wgpu and tinker with it to see if that's your thing. Ie. copy hello-triangle and add more triangles / make them move, etc.
  • gfx-rs ecosystem releases v0.8
    3 projects | /r/rust | 30 Apr 2021
    wgpu-rs (https://github.com/gfx-rs/wgpu-rs) is probably closer to what you're looking for, it's a "high level wrapper" over wgpu-core (Which implements "WebGPU", an upcoming browser API for graphics using gfx-rs, and AIUI "implements" means this is what a browser might use to actually call a graphics API when javascript uses webGPU, although if you're compiling for wasm it could just call the browser APIs). It can run natively, ignore the fact it has "Web" in the name
  • Rust shader translator is 2.5x faster
    1 project | news.ycombinator.com | 27 Apr 2021
  • GPU compute shader for SHA256 using Rust!
    3 projects | /r/rust | 25 Apr 2021
    rust-gpu) is used for compiling a compute shader written in Rust to SPIR-V. wgpu-rs is used natively for running the GPU computation.
  • GPU programming .. SYCL
    2 projects | /r/rust | 15 Apr 2021
  • Bevy 0.5
    14 projects | /r/rust | 6 Apr 2021
    For web assembly there is the unofficial bevy_webgl2 plugin. Official bevy web assembly support would probably use the wgpu webgl backend, which still needs some work, and is currently untested in bevy.
  • Bevy 0.5: data oriented game engine built in Rust
    10 projects | news.ycombinator.com | 6 Apr 2021
    We let wgpu https://github.com/gfx-rs/wgpu-rs handle our graphics backend abstraction, so our OpenGL support will come whenever they implement and release it. Currently, it seems to be a WIP.
  • Help a newbie (in this language) to find directions :)
    1 project | /r/rust_gamedev | 2 Apr 2021
    It's the same thing, the Rust implementation is just called[wgpu](https://wgpu.rs/)
  • Last big wgpu-rs example shaders are fully ported to WGSL now, and validated in it
    6 projects | /r/rust_gamedev | 30 Mar 2021
    Same as with GLSL, isn't it? What we do in wgpu-rs examples, and that's something I expect to see more widely, is having an integration test that just parses all the WGSL in the project and reports errors. Ideally though, we'd have a set of IDE plugins to do the parsing and report errors right where you type the code. We'd appreciate any help to get these started!
  • Newbie questions on design patterns in Rust
    2 projects | /r/rust_gamedev | 21 Mar 2021
    Also you could use an existing cross-platform graphics library, e.g. wgpu-rs. It supports Vulkan, Metal, DirectX, OpenGL and WebGPU. Oh and it seems to allow switching backends at compile-time via the WGPU_BACKEND environment variable, so maybe check out how they're doing it.

gpuweb

Posts with mentions or reviews of gpuweb. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-07-12.
  • Gpu.cpp: A lightweight library for portable low-level GPU computation
    8 projects | news.ycombinator.com | 12 Jul 2024
    See https://news.ycombinator.com/item?id=40952182#40957959

    It's early but my current since WGSL -> SPIRV is fairly shallow mapping you should be able to get close modulo extensions. Extensions can be important though, in particular I'm tracking this closely:

    https://github.com/gpuweb/gpuweb/issues/4195

    One subgoal of gpu.cpp is to be able to have a canvas to experiment and see how far we can push the limits.

  • Unreal Engine 5 in the Browser
    1 project | news.ycombinator.com | 9 Jul 2024
    On Chrome for Linux you'll need

    > The chrome://flags/#enable-unsafe-webgpu flag must be enabled (not enable-webgpu-developer-features). Linux experimental support also requires launching the browser with --enable-features=Vulkan.

    Nightly Firefox should have it already.

    https://github.com/gpuweb/gpuweb/wiki/Implementation-Status#...

  • I learned Vulkan and wrote a small game engine with it (in 3 months)
    17 projects | news.ycombinator.com | 6 Jun 2024
    https://github.com/gpuweb/gpuweb/issues/354

    And OpenGL never supported "threads", so anything using OpenGL can't either.

  • Show HN: I built a free in-browser Llama 3 chatbot powered by WebGPU
    8 projects | news.ycombinator.com | 3 May 2024
    Works for me.

    WebGPU support is behind a couple flags on Linux: https://github.com/gpuweb/gpuweb/wiki/Implementation-Status

  • WGSL Is Terrible
    1 project | news.ycombinator.com | 2 Jan 2024
  • WebGPU now available for testing in Safari Technology Preview
    3 projects | news.ycombinator.com | 22 Dec 2023
    People keep spreading this incredibly misleading statement, and yours is even more misleading (suggesting Apple opposed a 'GPU WASM')

    By all accounts, Apple's /only/ stance was that if WebGPU used SPIR-V it would be a non-starter for them, due to ongoing legal issues between Apple and Khronos.

    Apple actually proposed WebHLSL in collaboration with Microsoft, to have HLSL be the standard.

    Mozilla employee's stance[0] was that SPIRV was too low level, did not fit with the goals of WebGPU portability and security, and expressed concern that Khronos may add functionality to SPIRV they cannot support in WebGPU like raytracing instructions .. 'So we'd always be on the verge of forking SPIR-V in some way.'

    It was also noted by many people that even if a bytecode format was used, it would still have to be translated to the target (HLSL/DXIL, MSL, etc.) in almost the same way a text format would.

    Nobody proposed a 'GPU WASM equivalent' or an alternative bytecode format.

    The hard truth is that shader compilation is a fucking nightmare, people do not realize how bad it is across the different native APIs. SPIR-V is good, but it doesn't solve that - and presents other challenges if you are a web browser API. Vulkan and SPIRV are not the golden goose many make them out to be.

    [0] https://github.com/gpuweb/gpuweb/issues/847#issuecomment-642...

  • Show HN: WebGPU Particles Simulation
    5 projects | news.ycombinator.com | 17 Dec 2023
    Yes it is still a bit new. WebGPU is not finished and is still being worked on: https://webgpu.io/
  • Capturing the WebGPU Ecosystem
    9 projects | news.ycombinator.com | 11 Nov 2023
    WebGPU currently doesn't support the "bindless" resource access model (see: https://github.com/gpuweb/gpuweb/issues/380).

    The "max number of sampled texture per shader stage" is a runtime device limit, and the minimal value for that seems to be 16. So texture atlasses are still a thing in WebGPU.

  • Why aren't we using highly efficient int8 calcualtions in quants? (maybe eli14?)
    2 projects | /r/LocalLLaMA | 21 Jul 2023
    There's even an implementation under discussion to have the dp4a instruction added to WebGPU (https://github.com/gpuweb/gpuweb/issues/2677)
  • WebGPU – All of the cores, none of the canvas
    7 projects | news.ycombinator.com | 16 Jul 2023

What are some alternatives?

When comparing wgpu-rs and gpuweb you can also consider the following projects:

ash - Vulkan bindings for Rust

wgsl.vim - WGSL syntax highlight for vim

gfx - [maintenance mode] A low-overhead Vulkan-like GPU API for Rust.

pyodide - Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

awesome-bevy - A collection of Bevy assets, plugins, learning resources, and apps made by the community

noclip.website - A digital museum of video game levels

bevy_webgl2 - WebGL2 renderer plugin for Bevy game engine

BestBuy-GPU-Bot - BestBuy Bot is an Add to cart and Auto Checkout Bot. This auto buying bot can search the item repeatedly on the ITEM page using one keyword. Once the desired item is available it can add to cart and checkout very fast. This auto purchasing BestBuy Bot can work on Firefox Browser so it can run in all Operating Systems. It can run for multiple items simultaneously.

rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

WASI - WebAssembly System Interface

hash-shader - SHA256 WebGPU Compute Shader (Kernel) Written in Rust

naga - Universal shader translation in Rust

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?