learn-wgpu VS ash

Compare learn-wgpu vs ash and see what are their differences.

InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
learn-wgpu ash
78 13
1,633 1,991
2.8% 2.1%
6.4 6.7
11 days ago about 1 month ago
Rust Rust
MIT License Apache License 2.0
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.

learn-wgpu

Posts with mentions or reviews of learn-wgpu. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-03-19.
  • Memory Safety for Web Fonts
    8 projects | news.ycombinator.com | 19 Mar 2025
    > Of course evidence continues to build that no tooling or coding practice eliminates the risk here

    Concidering Rust is just tooling and coding practice in front of LLVM IR does this statement not also include Rust? There are in fact formally verified C and C++ programs, does that formal verification also count as tooling and coding practice and therefore not apply?

    If either of the above is true why does it matter at all?

    I am specifically calling out your blanket statement and want to open uo discussion about it because at present your implied point was it is impossible to write safe code in C/C++ and it is only possible in Rust, however the very point you made would also apply to Rust.

    There are also non-safety issues that may affect the integrity of a program. I recently again looked into Rust, haven't given up just yet but to just instantiate a WGPU project the amount of incidental complexity is mind boggling. I haven't explored OpenGL but concidering that the unofficial webgpu guide for rust [1] recommends using an older version of winit because the current version would require significant rewrites due to API changes is not encouraging. Never mind the massive incidental complexity of needing an async runtime for webgpu itself, is this a pattern I am going to see in different parts of Rust. Rust already has enough complexity without injecting coroutines in places where blocking functions are reasonable.

    1. https://sotrh.github.io/learn-wgpu/#what-is-wgpu

  • Learn Wgpu
    1 project | news.ycombinator.com | 15 Sep 2024
    1 project | news.ycombinator.com | 22 Nov 2023
  • Vulkan Tutorial
    2 projects | news.ycombinator.com | 7 Jun 2024
    https://sotrh.github.io/learn-wgpu/

    Wgpu is a Rust-based library that takes a similiar general API shape as Vulkan but is simplified. When I first tried to learn Vulkan I found the complication to be overwhelming (primarily because there are no defaults for ANYTHING) but once I learned wgpu it was substantially less so. It is still quite complicated though.

    Wgpu is aiming to be almost as powerful as Vulkan, but it's not there yet because the features that are needed to do the modern techniques that make Vulkan really good (as compared to opengl) either aren't there yet or are so bug-ridden as to not be usable in practice yet.

    It has some ability to run in a web browser, probably with JS, too, but I'm unfamiliar with the details there.

  • Practicing Rust, Learning Bevy, Creating a WASM Snake Game for the Browser
    4 projects | news.ycombinator.com | 19 Feb 2024
    Nice.

    Speaking of Snake game, if you want to go even deeper, you can try to use the wgpu crate to combine Rust and WebGPU to write everything from scratch. Here is the tutorial:

    https://sotrh.github.io/learn-wgpu/#what-is-wgpu

    I once wrote a code editor with wgpu, from font rendering to char/line state management (very rough) for music live coding:

    https://github.com/glicol/glicol-wgpu

    It runs in browsers, even including Safari!

  • Please review my ECS geospatial engine so far
    2 projects | /r/rust_gamedev | 10 Dec 2023
  • Help me get started with 3D graphics in Rust
    1 project | /r/rust_gamedev | 6 Dec 2023
  • Realtime Ray Marching implemented with Rust and wgpu
    3 projects | /r/rust_gamedev | 6 Dec 2023
    https://sotrh.github.io/learn-wgpu/ This is probably the best resource out there for learning wgpu specifically. If you're unfamiliar with graphics, the learnopengl one is good. If you've got experience though, jumping right into that one is a shout or looking at some vulkan ones as they're pretty similar in terms of architecture.
  • Is it possible and realistic to learn independent of an API?
    3 projects | /r/GraphicsProgramming | 6 Dec 2023
    - https://sotrh.github.io/learn-wgpu
  • What would be a good project structure/ design for a game engine using WebGPU?
    2 projects | /r/webgpu | 3 Dec 2023
    Most of The WGPU I learnt is from https://sotrh.github.io/learn-wgpu/ but it doesn't really talk about designing n stuff, I thought of checking out the source code for Bevy or even games like veloren. But well, their codebases are pretty big to get started in the first place.

ash

Posts with mentions or reviews of ash. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-02.
  • Going beyond build.rs: introducing cargo-px
    2 projects | /r/rust | 2 May 2023
    If you want to automate the creation of certain code that will be nested under the src directory, and committed into source control, there are a variety of ways to do that. One option is to create a sub-crate in your project that does the code-gen and you can run it as needed. The ash project is an example of this.
  • Hey Rustaceans! Got a question? Ask here (16/2023)!
    15 projects | /r/rust | 17 Apr 2023
    There is also [Vulkano](https://github.com/vulkano-rs/vulkano). It has a safe high level api and lower level layers, all the way down to [ash](https://github.com/ash-rs/ash) which is more or less raw vulkan. It's more explicit and verbose than [wgpu](https://github.com/gfx-rs/wgpu) though, so maybe try wgpu first and see how you like it.
  • A new picture of my ray tracing voxel engine (Vulkan/RTX/Rust)
    1 project | /r/VoxelGameDev | 30 Mar 2023
    Yes. I use Ash bindings for Vulkan and raw GLSL for shaders. I tried to use spirv-std for shaders—it was really great to have the benefits of Rust (structs, enums, strict type assertions, etc.)—until I needed to use buffer references. Unfortunaly, it is not yet implemented.
  • go-vk - A new Go language binding for Vulkan
    5 projects | /r/vulkan | 6 Mar 2023
    This is great, of all the vulkan go bindings I have been waiting for one that uses vk.xml to generate the bindings, because it's the only viable way to keep the bindings up-to-date. (fyi the popular [ash-rs](https://github.com/ash-rs/ash) is created the same-way).
  • undefined symbol: wlEglCreateSurfaceExport
    1 project | /r/pop_os | 30 Oct 2022
    Hi, I am having an issue on pop-os wayland where when I run a vulkan application I get an error symbol lookup error: /lib/x86_64-linux-gnu/libnvidia-vulkan-producer.so: undefined symbol: wlEglCreateSurfaceExport I have tested this with https://github.com/ash-rs/ash running the triangle example.
  • State of GPGPU in 2022
    12 projects | /r/rust | 27 Apr 2022
    Nice and simple. Its quite portable too. But simplicity and ease of use come with some limitations. Ash is much more complex but can extract every bit of power from your card if needed. Wgpu-rs github comes with many examples and you can find a really nice tutorial here
  • I made a video with every single debug render on a pathtracer I'm programming in Rust
    5 projects | /r/programming | 30 Nov 2021
    low level vulkan bindings
  • How to render text with rust?
    11 projects | /r/rust | 31 Oct 2021
    Glium and ash provide low level access to different common graphics api's. I'm sure there's a good directx-11/12 bindings as well but I'm unfamiliar with what people use.
  • https://np.reddit.com/r/rust/comments/pgruh2/most_efficient_way_to_write_and_read_large/hbfavpa/
    1 project | /r/backtickbot | 3 Sep 2021
    fn read_uncompressed_buffer( reader: &mut R, length: usize, // estimated via a seek or other mechanism file_is_little_endian: bool, ) -> Result> { let bytes = length * std::mem::size_of::(); // it is undefined behavior to call read_exact on un-initialized, https://doc.rust-lang.org/std/io/trait.Read.html#tymethod.read // see also https://github.com/MaikKlein/ash/issues/354#issue-781730580 let mut buffer = vec![0u64, length]; unsafe { // transmute u64 to bytes. let slice = std::slice::from_raw_parts_mut( buffer.as_mut_ptr() as *mut u8, length * std::mem::size_of::(), ); reader.read_exact(slice)?; } if is_native_little_endian() != file_is_little_endian { swap(&mut buffer, file_is_little_endian) } }
  • Most efficient way to write and read large amounts of u64s?
    1 project | /r/rust | 3 Sep 2021
    // it is undefined behavior to call read_exact on un-initialized, https://doc.rust-lang.org/std/io/trait.Read.html#tymethod.read // see also https://github.com/MaikKlein/ash/issues/354#issue-781730580 let mut buffer = vec![0u64, length]; unsafe { // transmute u64 to bytes. let slice = std::slice::from_raw_parts_mut( buffer.as_mut_ptr() as *mut u8, length * std::mem::size_of::(), ); reader.read_exact(slice)?; } if is_native_little_endian() != file_is_little_endian { swap(&mut buffer, file_is_little_endian) }

What are some alternatives?

When comparing learn-wgpu and ash you can also consider the following projects:

SDL - Simple Directmedia Layer

vulkan-tutorial-rust - Following the vulkan tutorial(https://vulkan-tutorial.com/) using the Rust programming language.

glium - Safe OpenGL wrapper for the Rust language.

wgpu-rs - Rust bindings to wgpu native library

wgsl-mode - Emacs syntax highlighting for the WebGPU Shading Language (WGSL)

rust-gpu-compute-example - Minimal example of using rust-gpu and wgpu to dispatch compute shaders written in rust.

InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured

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