Graphics programming resources I would recommend Published: 7/11/2024
Structure
This page is a collection of linkSync, each under a category. The type of the resource is marked with a symbol in front of the link:
- smart_display : Youtube video or channel
- description : Article, blog, website or non-academic document
- history_edu : Academic paper
- book_2 : Book
- podium : Conference talk
The time when a specific link was added to the list is at the end of it (YYYY-mm-dd).
Categories and links are in an order that only makes sense to me, don’t try to find any rhyme or reason behind it.
General self-guidelines on what can go in here:
- At one point I had to have used the resource
- Resource must not be behind a subscription (one-time payments are fine)
- It must not tell you outright how code should be structured or organized
- Code must come with some form of explanation, no raw github repos
Math
smart_display3Blue1Brown “The Essence of Linear Algebra” series
(2024-07-11)smart_displayThe channel also works in general, but this applies the most to graphics programming.
Freya Holmér
(2024-07-11)descriptionMostly focuses on gamedev, but these fields have considerable overlap
songho.ca
(2024-07-11)descriptionOpenGL sections are very outdated, but the math holds up
Quaternion overview by Grant Sanderson (3Blue1Brown) and Ben Eater
(2024-07-11) description“Understanding Slerp, Then Not Using It” by Jonathan Blow
(2024-07-11)Programming
book_2“The Pragmatic Programmer” by Andrew Hunt and David Thomas
(2024-07-11)Graphics APIs
descriptionLearnOpenGL
(2024-07-11) description“Official” Khronos Vulkan Tutorial
(2026-02-07)descriptionWrites code against Vulkan 1.4 with dynamic rendering and vulkan.hpp. Basically an updated version of vulkan-tutorial.com.
“HowToVulkan” vulkan tutorial by Sascha Willems
(2026-02-07)Similar to the Khronos Vulkan tutorial, except done with vulkan.h and only a minimal reliance on C++ features.
Algorithms
smart_displaySimonDev
(2024-07-11) descriptionThe Basics of GPU Voxelization
(2024-07-11) history_eduEfficient sparse voxel octrees
(2024-07-11)Rendering
book_2Physically Based Rendering: 4th Edition
(2024-07-11) descriptionDevsh’s PBR discussion
(2024-07-11)podiumMeant to be an “extension” to the PBR articles on LearnOpenGL, but it’s a good explanation of the Fresnel components in BRDFs on its own.
“PBR Diffuse Lighting for GGX+Smith Microsurfaces” by Earl Hammon
(2024-07-11) smart_display“Some Thoughts on the Fresnel Term” by Naty Hoffman
(2026-02-07) smart_display“Rendering Tiny Glades With Entirely Too Much Ray Marching” by Tomasz Stachiowak
(2026-02-07)Raytracing
descriptionRaytracing in One Weekend
(2024-07-11) descriptionNVIDIA Vulkan hardware raytracing guide
(2024-07-11) history_edu“Sampling the GGX Distribution of Visible Normals” by Eric Heitz
(2024-07-11) podiumA Gentle Introduction to ReSTIR Path Reuse in Real Time
(2024-07-11)Video included in the link, reading the course notes is also recommended
Inspiration
This category is to gather inspiration from, not necessarily to gain deep knowledge behind any specific algorithm or technology. Take anything you learn with a grain of salt and do your own research.
smart_displayAcerola
(2024-07-11) smart_displaySebastian Lague
(2024-07-11)