This page contains a collection of graphics programming and adjacent resources curated by our meetup attendees.
New to graphics programming and don't know where to start? Check our curated beginner friendly resources.
Want to add a resource? See guide for adding resources.
Learn OpenGL is the definitive resource for learning real-time renderer techniques as beginners. Even though it is an OpenGL tutorial, it also teaches rendering techniques at the same time.
Dartmouth CS87 Rendering Algorithms
The course nicely fills the gap between a Ray Tracing in One Weekend style toy renderer and a more general and fully-fledged renderer that PBRT describes
Free book that contains chapters on physically-based shading and rendering, coding projects, and reference pages.
The goal of this guide is to understand Vulkan correctly, and act as a stepping stone for then working in your own projects.
An improvement of the official OpenGL documentation
Summarizes the problem of GPU line primitives and explores a few different techniques for 2D and 3D triangulated line rendering, and accompany each with a small canvas demo.
A tutorial for the WebGPU API using Rust and the wgpu library
Like other "gems" books, this series of books contains a collection of articles focused on ray tracing techniques for serious practitioners. It focuses on subjects commonly considered too advanced for introductory texts, yet rarely addressed by research papers.
The classic Kajiya rendering equation paper introduced the "rendering equation" and the path tracing algorithm
Lecture 19: Variance Reduction (CMU 15-462/662)
An overview various variance reduction techniques for Monte Carlo rendering, covering bidirectional path tracing, Metropolis-Hastings algorithm, MIS, stratified Sampling, low-discrepancy sampling, blue noise, photon mapping, and finite element radiosity
Introduces the theory of tone mapping and discusses commonly used tone mapping operators
A relatively small, beginner-friendly path tracing tutorial using Vulkan's ray tracing API
An interactive introduction to barycentric coordinates. It starts with linear-interpolation and generalize it to triangles and higher-dimensions.
Better Code: Concurrency - Sean Parent
This talk uses the primitives supplied by C++14 to build a simple task system. It discussing the issues with usage of mutexes for shared data and introducing concurrent queues and thread pools
Public Domain materials for Physically Based Rendering
This book is a fabulous read to get a deeper understanding of what data-oriented design is about. It goes beyond the often-mentioned cache misses, SOA, ECS, or anti-OOP rants.
Sascha Willems's How to Vulkan in 2026
A minimalist tutorial from Sascha Willems on how to use the Vulkan graphics API in 2026. The idea is to get people started with rasterization in Vulkan using commonly supported features to make the API easier to use.
Memory allocation strategies article series
A series of articles talking about custom memory allocators, starting from the simple arena allocators, to more complicated ones like the stack allocators, pool allocators, free list allocators, and finally buddy allocators.
NVIDIA Vulkan Ray Tracing Tutorials
This repository provides a comprehensive learning resource for Vulkan ray tracing, featuring a progressive step-by-step tutorial that transforms a rasterization application into a fully functional ray tracing implementation
Percentage-Closer Soft Shadows
NVIDIA paper introducing Percentage-Closer Soft Shadows (PCSS), based on shadow mapping and percentage‐closer filtering (PCF)
The author introduces shaders from an artistic perspective, and the book covers many topics that more engineering-focused resources such as "Learn OpenGL" won't cover.
Single-header zero-dependency BVH construction and traversal library
VK_KHR_dynamic_rendering tutorial
This tutorial shows how to use the VK_KHR_dynamic_rendering extension in Vulkan. It shows the steps required to load the extension, use it, and how it affects related components such as pipeline creation
3D Graphics Rendering Cookbook
A book that covers and compares both the OpenGL and Vulkan APIs, while also covering various recipes about making a renderer.
This book challenges you to build a Whitted-style ray tracer from scratch. Unlike many tutorials, it doesn't provide code and follows a unique test-first approach, describing only test specifications and algorithms.