Rust Vulkan

Open-source Rust projects categorized as Vulkan

Top 23 Rust Vulkan Projects

  • wgpu

    Cross-platform, safe, pure-rust graphics api.

    Project mention: How do I become a graphics programmer? – A guide from AMD Game Engineering team | news.ycombinator.com | 2023-11-22

    wgpu, the Rust WebGPU implementation is the bee's knees. https://wgpu.rs/ You can use it beyond the web.

  • gfx

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

    Project mention: How to learn writing a Wayland compositor? | /r/rust | 2023-03-25

    Understand Wayland concepts: Familiarize yourself with the basic concepts and principles of Wayland. This will help you gain a solid understanding of how the system works. You can refer to the official Wayland documentation (https://wayland.freedesktop.org/docs/html/) and the Wayland book (https://wayland-book.com/). Learn Rust: If you're not already proficient in Rust, take some time to learn the language. The Rust Book (https://doc.rust-lang.org/book/) is a great place to start. Study existing Wayland compositors: Since you mentioned Anvil and smallvil, you can study their source code to gain insights into how they're designed and implemented. Try to understand the structure and how different components interact with each other. Dive into Smithay: Smithay (https://github.com/Smithay/smithay) is a Rust library for building Wayland compositors. Familiarize yourself with the library and its components. You can start by studying the provided examples and reading the API documentation. Learn graphics programming: Since you're interested in graphics effects, you'll need to learn about graphics programming concepts, such as shaders, framebuffers, and texturing. Vulkan (https://www.vulkan.org/) is a popular graphics API that you can use with Rust. Check out the following resources to learn more about Vulkan and graphics programming in Rust: Vulkan Tutorial (https://vulkan-tutorial.com/) gfx-rs (https://github.com/gfx-rs/gfx), a Rust graphics library Vulkano (https://github.com/vulkano-rs/vulkano), a safe, pure-Rust wrapper around the Vulkan API Start small: Break down the compositor project into smaller, manageable tasks. Begin by implementing basic functionality, like setting up a window and drawing simple shapes. Gradually add more features, such as input handling and window management. Ask for help: Join the Wayland and Rust communities to ask questions and seek advice. You can find them on forums, mailing lists, and chat platforms like Discord or IRC. The Wayland mailing list (https://lists.freedesktop.org/mailman/listinfo/wayland-devel) and the Rust programming subreddit (https://www.reddit.com/r/rust/) are good places to start. Iterate and experiment: As you progress, keep experimenting with different graphics effects and shaders. Try to implement the features you're interested in, such as blur, window previews, and window switching.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • vulkano

    Safe and rich Rust wrapper around the Vulkan API

    Project mention: Hey Rustaceans! Got a question? Ask here (16/2023)! | /r/rust | 2023-04-17

    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.

  • ash

    Vulkan bindings for Rust

    Project mention: Going beyond build.rs: introducing cargo-px | /r/rust | 2023-05-02

    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.

  • rust-skia

    Rust Bindings for Skia

    Project mention: Integrate with Skia GL | /r/GTK | 2023-08-23

    The only example that shedded some light on the integration was gtk4 + femtovg. So I mimicked the example, using gtk4-rs and Skia's rust bindings. I had some code similar to the following inside a subclass of GLArea to setup Skia's DirectContext, but it failed:

  • luminance-rs

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

    Project mention: Introducing posh: Type-Safe Graphics Programming in Rust | /r/rust | 2023-06-04

    gives me same vibes as https://github.com/phaazon/luminance-rs

  • rend3

    Easy to use, customizable, efficient 3D renderer library built on wgpu.

    Project mention: Meta Releases Intermediate Graphics Library | news.ycombinator.com | 2023-07-07

    The WGPU people are still working through lock conflicts in that area. The idea with Vulkan land is that you should be able to load content while rendering is in progress. For that to be useful, all the layers above Vulkan also have to have their locking problems hammered out. Most open source game engines don't do that yet. Unreal Engine and Unity do, which is why you pay for them for your AAA title.

    [1] https://raw.githubusercontent.com/BVE-Reborn/rend3/trunk/exa...

    [2] https://github.com/BVE-Reborn/rend3/blob/trunk/examples/scen...

    [3] https://video.hardlimit.com/w/sFPkECUxRUSxbKXRkCmjJK

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • rendy

    State of the art "build your own engine" kit powered by gfx-hal

  • wluma

    Automatic brightness adjustment based on screen contents and ALS

  • wgpu-mc

    Rust-based replacement for the default Minecraft renderer

    Project mention: I mean if we're going by the rules... | /r/PhoenixSC | 2023-04-19

    ... soo just in case someone wanted to actually see this its incomplete but https://github.com/wgpu-mc/wgpu-mc

  • vulkan-tutorial-rust

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

  • Linux-Guide

    Linux Guide. Learn about Linux Hardware vendors, Linux in the Cloud, Desktop Environments, Window Mangers, Linux Distributions, Linux Security, Graphics (AMD/NVIDIA/Intel ARC), and Software Apps.

    Project mention: A good guide to learn Linux from zero | /r/linuxquestions | 2023-03-29

    Linux Guide - A guide covering Linux including its multiple Desktop environments, Window managers, Tools, and Applications that will make you a better and more efficient Linux user. - https://github.com/mikeroyal/Linux-Guide

  • shaderc-rs

    Rust bindings for the shaderc library.

  • vulkanalia

    Vulkan bindings for Rust.

  • screen-13

    Screen 13 is an easy-to-use Vulkan rendering engine in the spirit of QBasic.

  • yakui

    yakui is a declarative Rust UI library for games

  • memtest_vulkan

    Vulkan compute tool for testing video memory stability

    Project mention: Strange crashes & graphic artifacts in games | /r/linux4noobs | 2023-11-21
  • vulkan-tutorial-rs

    Vulkan tutorial written in Rust using Ash

    Project mention: Hey Rustaceans! Got a question? Ask here (4/2023)! | /r/rust | 2023-01-23

    thanks! is there a way I could change get_layer_names_and_pointers() function so that the two return values have tied lifetimes? I'm OK if the signature has to change significantly you can see its definition here

  • pilka

    Another live-coding tool for creating shader demos, Vulkan+Wgpu powered.

  • spirq-rs

    Light weight SPIR-V reflection library

  • spirv_cross

    Safe Rust wrapper around SPIRV-Cross

  • INOX

    Rust Game engine integrated in Blender [WebGPU ready]

    Project mention: The Icculus Microgrant is giving out 250 dollar grants to open source projects, please brag about your project(s) in this thread so I can see them! | /r/programming | 2023-03-03
  • imgui-rs-vulkan-renderer

    A Vulkan renderer for imgui-rs using Ash

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-11-22.

Rust Vulkan related posts

Index

What are some of the best open-source Vulkan projects in Rust? This list will help you:

Project Stars
1 wgpu 9,439
2 gfx 5,304
3 vulkano 4,092
4 ash 1,564
5 rust-skia 1,190
6 luminance-rs 1,081
7 rend3 927
8 rendy 809
9 wluma 423
10 wgpu-mc 404
11 vulkan-tutorial-rust 390
12 Linux-Guide 264
13 shaderc-rs 236
14 vulkanalia 205
15 screen-13 187
16 yakui 177
17 memtest_vulkan 162
18 vulkan-tutorial-rs 129
19 pilka 119
20 spirq-rs 99
21 spirv_cross 82
22 INOX 82
23 imgui-rs-vulkan-renderer 57
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com