Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Welcome to the Rust-GPU dev guide! This documentation is meant for documenting how to use and develop on Rust-GPU.

Important

This introduction assumes a basic understanding of GPU and graphics programming. I highly recommend following a tutorial until you have least a colorful triangle on screen or ran your first few compute shaders.

Some of my recommendations:

  • learn wgpu teaches you the modern WebGPU API with the wgpu crate, but doesn’t go much beyond the basics.
  • learnopengl.com is the best graphics programming guide to this day, but it teaches the older OpenGL API which is not supported by rust-gpu. Still, it is one of the best sources intermediary rendering techniques, which you should be able to transfer to a more modern graphics API, or use glow for Rust OpenGL bindings.
  • How to Vulkan is a tutorial for modern Vulkan and highly recommended over all older Vulkan tutorials. I would not recommend Vulkan for a beginner, since it’s a quite extensive API, but it has the most features, extensions and is the best documented API. Unfortunately, rust-gpu doesn’t support Buffer Device Address (BDA) yet, so you’ll have to resort to ordinary descriptor sets or arrays of descriptor sets like you’d see for bindless textures.