Scratchapixel 2.0

Learn Computer Graphics Programming from Scratch

"Thanks for sharing this! Great writing style, insightful and elegantly delivers functional information with enough context to lodge into the brain! Well done, please do continue to express your expertise in this way, it is appreciated!"
Support Scratchapixel with a Donation
22 lessons, 130 chapters, 370,000 words, C++ source code

Mathematics and Physics for Computer Graphics

What math should I learn in order to study computer graphics?

Matrix Inverse

Foundations of 3D Rendering (Volume 1)

17 lessons designed to introduce you to the field of 3D rendering (best reading order is chronological)

3D Rendering: Better, Faster, More (Volume 2)

A new series of 12 lessons to study advanced but nonetheless important 3D rendering techniques

Bias vs Unbias Path Tracing & the Russian Roulette
Multi-Threading in Rendering
Intuitive Introduction to Anti-Aliasing
Area Lights
The Infamous Rendering Equation
Intuitive Introduction to Importance Sampling
Texture Mapping
Depth of Field
Motion Blur
Volume Rendering

Digital Imaging

A series of lessons on digital images, color science and image processing

Digital Images
Simple Image Manipulations

Procedural Generation of Virtual Worlds

Procedural modeling and generation of complex natural objects, simulating ecosystems and natural phenomena

Creation and Rendering of Realistic Trees