Back Original

Graphics Programming Resources

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

    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.

    a smiling textured containers in OpenGL
  • 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

  • The Graphics Codex

    Free book that contains chapters on physically-based shading and rendering, coding projects, and reference pages.

  • VkGuide by Victor Blanco

    The goal of this guide is to understand Vulkan correctly, and act as a stepping stone for then working in your own projects.

  • docs.gl

    An improvement of the official OpenGL documentation

  • Drawing Lines is Hard

    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.

  • Learn wgpu

    A tutorial for the WebGPU API using Rust and the wgpu library

  • Ray Tracing Gems Series

    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 rendering equation

    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

  • Book cover of Learn OpenGL, featuring a smiling textured containers in OpenGL
  • Tone Mapping

    Introduces the theory of tone mapping and discusses commonly used tone mapping operators

  • vk_mini_path_tracer

    A relatively small, beginner-friendly path tracing tutorial using Vulkan's ray tracing API

  • Barycentric Coordinates

    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

  • ambientCG

    Public Domain materials for Physically Based Rendering

  • Data-Oriented Design

    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 Book of Shaders

    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.

  • TinyBVH

    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.

  • The Ray Tracer Challenge

    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.