HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
gfx-rs
wgpu-rs
Rust2020–2021
gfx-rs / wgpu-rs · Archived

wgpu-rs

Rust bindings to wgpu native library

6Distinct people
11Mentions
1Explicit recommenders
1.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Rust bindings to wgpu native library

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

I think Rust and Haskell, due to their irrelevance in industry and general "nerdiness", attract a certain type of hacker. Specifically I've noticed that there are some…

anchpop used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month11 dated mentions

Observed mentions: 2020-01-16 16:07:33 UTC to 2021-05-18 14:56:06 UTC.

01232020-01-01 00:00:00 UTC to 2020-02-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsJan 20202020-02-01 00:00:00 UTC to 2020-03-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-03-01 00:00:00 UTC to 2020-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-04-01 00:00:00 UTC to 2020-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-01 00:00:00 UTC to 2020-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-01 00:00:00 UTC to 2020-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-01 00:00:00 UTC to 2020-08-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-08-01 00:00:00 UTC to 2020-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-01 00:00:00 UTC to 2020-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 20202020-10-01 00:00:00 UTC to 2020-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-11-01 00:00:00 UTC to 2020-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-12-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2021-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-02-01 00:00:00 UTC to 2021-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-03-01 00:00:00 UTC to 2021-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-04-01 00:00:00 UTC to 2021-05-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2021-05-01 00:00:00 UTC to 2021-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 20202020-01-01 00:00:00 UTC2020-02-01 00:00:00 UTC202
Feb 20202020-02-01 00:00:00 UTC2020-03-01 00:00:00 UTC303
Mar 20202020-03-01 00:00:00 UTC2020-04-01 00:00:00 UTC000
Apr 20202020-04-01 00:00:00 UTC2020-05-01 00:00:00 UTC000
May 20202020-05-01 00:00:00 UTC2020-06-01 00:00:00 UTC000
Jun 20202020-06-01 00:00:00 UTC2020-07-01 00:00:00 UTC000
Jul 20202020-07-01 00:00:00 UTC2020-08-01 00:00:00 UTC101
Aug 20202020-08-01 00:00:00 UTC2020-09-01 00:00:00 UTC000
Sep 20202020-09-01 00:00:00 UTC2020-10-01 00:00:00 UTC000
Oct 20202020-10-01 00:00:00 UTC2020-11-01 00:00:00 UTC000
Nov 20202020-11-01 00:00:00 UTC2020-12-01 00:00:00 UTC000
Dec 20202020-12-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
Jan 20212021-01-01 00:00:00 UTC2021-02-01 00:00:00 UTC000
Feb 20212021-02-01 00:00:00 UTC2021-03-01 00:00:00 UTC000
Mar 20212021-03-01 00:00:00 UTC2021-04-01 00:00:00 UTC000
Apr 20212021-04-01 00:00:00 UTC2021-05-01 00:00:00 UTC211
May 20212021-05-01 00:00:00 UTC2021-06-01 00:00:00 UTC101

What Hacker News says

11 sources
anchpop·Dec 12, 2020Recommendation phrase
I think Rust and Haskell, due to their irrelevance in industry and general "nerdiness", attract a certain type of hacker. Specifically I've noticed that there are some libraries for both languages that are just so good that they make you never want to use anything else. One example in Haskell is Megaparsec [0], by far the best point in the parser framework design-space I'm aware of. An example in Rust is wgpu-rs, which maybe isn't "all the way there" yet but is already turning into a very ergonomic low-level rendering API. Although I haven't used them, I think piet-gpu and pathfinder may be in this category also. I don't have a link handy but I remember seeing a tweet from the developer of Pathfinder where he was reverse-engineering MacOS's idiosyncratic font rendering so he could generate identical-looking output as the native renderer.
Read the rest
That's going above-and-beyond what any reasonable library developer would do and I love it. I'm not saying there aren't any great libraries for other languages (there certainly are, like Halide for C++) but that I'm more often pleasantly surprised by the library quality in Haskell and Rust than I am in other languages (when there are libraries available, anyway). [0]: https://hackage.haskell.org/package/megaparsec [1]: https://github.com/gfx-rs/wgpu-rs
In The Piet-GPU Vision
There are lots of options for graphics in Rust, so it's really just a choice of which graphics API you'd like to use or learn more about. (full disclosure: I contribute to some of these crates) For example, there is an implementation of WebGPU (https://github.com/gfx-rs/wgpu-rs) that can run both inside and outside of the browser that has been growing in popularity lately. There are also bindings for Vulkan (ash, erupt), D3D12 (d3d12-rs), Metal (metal-rs), cross-platform abstractions at various levels (gfx-hal, wgpu), OpenGL (glow, glium), etc. It's also possible to simply render graphics to an image (a pretty common approach for Raytracing in One Weekend) or blit pixels onto a window surface.
In Raytracing in One Weekend (2016)
It's also cargo and the way the build system works. Build scripts in Rust are written in Rust, not some ad-hoc declarative build language. This is a really good decision because you can do insane shit in your build scripts. Also macros, you can generate say bindings relatively easily. I've been doing some cross-platform GPU stuff lately and Rust makes so much of this a breeze. I can't imagine combining C++ projects this easily. I'm really bullish on wgpu (https://github.com/gfx-rs/wgpu-rs). It's the Rust implementation of the WebGPU standard. It goes beyond the web though, it's a really nice GPGPU API to work with and will be a popular API in the next decade.
In Espanso: Cross-Platform Text Expander Written in Rust
There is another translation layer called wgpu (https://github.com/gfx-rs/wgpu) being developed as well. It's written in Rust and has bindings for C, Rust (https://github.com/gfx-rs/wgpu-rs), and some initial support for other languages (Python, Julia, Scopes, etc.). Dawn and wgpu have also been collaborating to create a common set of WebGPU headers. The WIP headers are located at https://github.com/webgpu-native/webgpu-headers if you're interested in contributing or following.
In Vulkan 1.2

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.