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
  • Ray Tracing in One Weekend series

    Series of online books teaching the basics of path tracing

  • CMU's introductory to Computer Graphics (2020)

    A comprehensive introduction to various topics in computer graphics

  • 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

  • Tinyrenderer: Software rendering in 500 lines of bare C++

    Writing a software rasterization from scratch to demonstrate how graphics APIs work.

  • The Graphics Codex

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

  • UPenn CIS 5650 GPU Programming and Architecture (2025)

    A course that introduce GPU parallel programming with a Computer Graphics flavor

  • Vulkan Specification

    It is a good idea to keep it open while doing Vulkan programming

  • How to build a BVH Series

    A blog post series delving into building a BVH from scratch

  • Best Practices for Modern OpenGL

    A guide about avoiding common programmer errors by using modern OpenGL (4.5+)

  • 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

  • Learn OpenGL: Shadow Mapping

    Basic tutorial on shadow mapping

  • 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

  • TU Wien: Vulkan Lecture Series (2021)

    Lecture series on Vulkan programming from TU Wien

  • WebGL2 Fundamentals

    An introduction to 2D and 3D computer graphics using WebGL2 by Gregg Tavares

    • WebGL
    • tutorial
    • GLSL
    • javascript
  • An Improved Illumination Model for Shaded Display

    This is Turner Whitted's original Ray Tracing paper

  • 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

  • WebGPU Specification

    The official WebGPU API specification

  • Instanced Line Rendering Part I

    Builds on the foundation from "Drawing Lines is Hard" and uses instance rendering to draw lines

  • 3D Math Primer for Graphics and Game Development

    The book focus on cover fundamental 3D math concepts for beginners

  • Book cover of Learn OpenGL, featuring a smiling textured containers in OpenGL
  • Compute Shader Glossary

    A glossary of terms used in compute shader programming. Provides cross-API comparisons

  • Instanced Line Rendering Part II: Alpha blending

    Continues instanced line rendering, introducing alpha-blending for triangulated lines.

  • Math For Game Devs (2020)

    Four part lecture on essential math for game developers by Freya Holmér

  • Implementing a tiny CPU rasterizer

    Blog post series on implementing a CPU rasterizer from scratch

  • Tone Mapping

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

  • Robust Monte Carlo Methods for Light Transport Simulation

    the Academy Award-winning Ph.D. thesis by Eric Veach. It starts from bidirectional light transport algorithms and introduces multiple importance sampling and Metropolis light transport

  • vk_mini_path_tracer

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

  • Advanced Global Illumination

    An advanced book focused on light transport theory for global illumination.

  • Adventures in Hybrid Rendering (2021)

    A blog post on implementing a hybrid ray tracing rendering pipeline

  • ambientCG

    Public Domain materials for Physically Based Rendering

  • Edge-Avoiding À-Trous Wavelet Transform for fast Global Illumination Filtering (2010)

    Classic paper introducing a fast and simple filter for ray tracing denoising.

  • Barycentric Coordinates

    An interactive introduction to barycentric coordinates. It starts with linear-interpolation and generalize it to triangles and higher-dimensions.

  • Lecture 10: Meshes and Manifolds (CMU 15-462/662)

    Great overview, and also spend significant time on the half-edge data structure

  • Depth Precision Visualized

    A visual explanation of floating-point depth buffer precision, and introduces nonlinear depth mapping

  • Arseny Kapoulkine: Writing an efficient Vulkan renderer (2020)

    Best practices for writing a high-performance Vulkan renderer

  • Gimbal lock confusion

    A stackoverflow answer on why the Gimbal lock occurs

  • Graphics Pipelines for Young Bloods

    Describes forward/defered shading techniques and various tradeoffs

  • High-Performance Software Rasterization on GPUs (2011)

    A paper describing high-performance software rasterization techniques running on GPUs.

  • 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.

  • Experiments in Hybrid Raytraced Shadows

    Explores combining rasterization and ray tracing for shadow rendering

  • Immersive Linear Algebra

    Free online linear algebra book with fully interactive figures

  • Learn OpenGL guest article: Cascaded Shadow Mapping

    Learn OpenGL guest article on cascaded shadow mapping, which resolves the resolution issues of the naive shadow mapping

  • 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

  • Parallel Prefix Sum (Scan) with CUDA (2007)

    A classic reference on implementing a work-efficient parallel prefix sum algorithms

  • 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

  • Visualizing quaternions by 3blue1brown

    A great intereactive introduction/refresher for quaternions. It focuses on intuition rather than mathematical definitions

  • 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.

  • Foundations of Game Engine Development, Volume 1: Mathematics 1st Edition

    Introduces math routines with implementations. It also touches Grassman algebra

  • Mathematics for Computer Graphics

    comprehensive range of mathematical techniques and problem-solving strategies associated with computer graphics

  • 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.