learn-wgpu VS wgsl-mode

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


Guide for using gfx-rs's wgpu library. (by sotrh)


Emacs syntax highlighting for the WebGPU Shading Language (WGSL) (by acowley)
Our great sponsors
  • WorkOS - The modern API for authentication & user identity.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • Onboard AI - ChatGPT with full context of any GitHub repo.
learn-wgpu wgsl-mode
75 1
1,338 17
- -
8.3 4.0
8 days ago 3 months ago
Rust Emacs Lisp
MIT License GNU General Public License v3.0 only
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.


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 2024-02-19.
  • Practicing Rust, Learning Bevy, Creating a WASM Snake Game for the Browser
    4 projects | news.ycombinator.com | 19 Feb 2024

    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:


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


    It runs in browsers, even including Safari!

  • Please review my ECS geospatial engine so far
    2 projects | /r/rust_gamedev | 10 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.
  • Trying to learn wgpu
    2 projects | /r/rust | 29 Jun 2023
    If you haven't seen it: https://sotrh.github.io/learn-wgpu/ is a good introduction that will explain most of what you asked, then can refer to rend3d or bevys renderer to see how a render graph works.
  • WebGPU with C++ ?
    5 projects | /r/webgpu | 29 Jun 2023
    I suggest looking into Rust for developing WASM applications with WebGPU, since Rust has in my experience way better support for WASM than c++. wgpu is the implementation of the WebGPU standard in rust and is very well documented. It also isn't just a backend for WebGPU but also for OpenGL, WebGL, Vulkan, Metal and DirectX, so you application can run on every device. There is a great tutorial series here.
  • What is Rust's potential in game development?
    12 projects | /r/rust | 15 Jun 2023
    So my advice would be to try Bevy, but don't force it if it doesn't work for you. If you're interested in more "low-level" graphics programming or you have some experience in that area, then learning wgpu is another thing you can do (and if you start doing advanced things with Bevy, you will want to be familiar with wgpu anyway)
  • Wgpu Questions: Vertex Buffers
    2 projects | /r/rust | 5 Jun 2023
    When should I create encoders and render passes? I'm following these WebGPU tutorials here, and it creates both an encoder and render pass from that encoder on a per-frame-basis. Can it be expensive to create these each frame? Should I at least cache the encoder to somewhere more persistent, so that I'm not creating a new one each frame? It looks like creating render passes need to be created each frame because they need to be dropped from their scopes in order to finish the render pass before submitting the queue.
  • Custom Intermediate buffers/textures for shaders
    3 projects | /r/godot | 23 May 2023
    For context, I've got rudimentary knowledge of how to work with shaders through learnopengl.com, and https://sotrh.github.io/learn-wgpu/.


Posts with mentions or reviews of wgsl-mode. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-25.
  • Is WGSL a good choice?
    9 projects | /r/rust_gamedev | 25 Sep 2021
    IIRC, somebody looked at it, but nothing usable yet. There is, however, cargo-wgsl, vscode-wgsl, Emacs plugin, and Vim plugin

What are some alternatives?

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

ash - Vulkan bindings for Rust

glium - Safe OpenGL wrapper for the Rust language.

SDL - Simple Directmedia Layer

winit - Window handling library in pure Rust

egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

luminance-rs - Type-safe, type-level and stateless Rust graphics framework

fltk-rs - Rust bindings for the FLTK GUI library.

wgsl.vim - WGSL syntax highlight for vim

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

vulkano - Safe and rich Rust wrapper around the Vulkan API

wgpu-native - Native WebGPU implementation based on wgpu-core

naga - Universal shader translation in Rust