#wgpu #graphics #buffer #abstraction #time #projects #index-buffer

easygpu

Simple wrapper around wgpu aiming to make some common operations easier

20 releases (5 breaking)

0.5.0 Apr 28, 2023
0.4.0 Jan 27, 2023
0.3.0 Oct 22, 2022
0.2.0 Jul 31, 2022
0.0.3 Nov 3, 2020

#219 in Graphics APIs

Download history 16/week @ 2024-02-16 20/week @ 2024-02-23 11/week @ 2024-03-01 15/week @ 2024-03-08 11/week @ 2024-03-15 6/week @ 2024-03-22 175/week @ 2024-03-29

207 downloads per month
Used in 3 crates (2 directly)

MIT license

60KB
1.5K SLoC

easygpu

This crate exists purely as a middle layer for Kludgine to interact with wgpu-rs. It was extracted from rgx as part of an attempt to upgrade from wgpu 0.4 to 0.6, which had several breaking issues.

The purpose of this crate is to house some abstractions for wgpu that make life a little easier. For example, Vertex and Index buffers know how big they are. The secondary goal of this crate is to expose how it does all of the easy work, so that if you need to replace parts of it with hand-written WGPU code, you can do it without waiting for this crate to get an update.

Relying on easygpu

This project received its first pull request from another contributor in May of 2021 (thank you!). Despite the warning above, I do think this project can help people who don't want to use Kludgine but are wanting to make wgpu a little more approachable.

Because I want that to be possible, I'm going to commit to maintaining a CHANGELOG which will highight breaking changes. This project is severely under-documented (I will try to address that over time), so this is literally the least I can do to help those using this crate in their projects.

Getting Started

To use easygpu, your project must be using the new features resolver. The two lines to add to your Cargo.toml look like this:

[lib]
# Only needed if using the 2018 edition
resolver = "2"

[dependencies]
easygpu = "0.1.0"

MIT License

As with most code from Khonsu Labs, this repository is open source under the MIT License

Dependencies

~8–41MB
~592K SLoC