We stand with Ukraine!
Scratchapixel 2.0
Learn Computer Graphics From Scratch!
"PS: I love your site!"
32 lessons, 166 chapters, 450,000 words, C++ source code
Mathematics and Physics for Computer Graphics
Geometry
Mathematical Foundations of Monte Carlo Methods
Monte Carlo Methods in Practice
Matrix Inverse
Jacobi Transformation and Eigenvalue Algorithm
Quaternions
Interpolation
The Mathematics of Shading
Placing a Camera: the LookAt Function
Introduction to Frequency Analysis
3D Rendering: Foundations
Introduction to Ray Tracing: a Simple Method for Creating 3D Images
Where Do I Start? A Very Gentle Introduction to Computer Graphics Programming
Rendering an Image of a 3D Scene: an Overview
Computing the Pixel Coordinates of a 3D Point
3D Viewing: the Pinhole Camera Model
Rasterization: a Practical Implementation
The Perspective and Orthographic Projection Matrix
An Overview of the Ray-Tracing Rendering Technique
Ray-Tracing: Generating Camera Rays
A Minimal Ray-Tracer: Rendering Simple Shapes (Sphere, Cube, Disk, Plane, etc.)
Ray Tracing: Rendering a Triangle
Introduction to Polygon Meshes
Ray-Tracing a Polygon Mesh
Transforming Objects using Matrices
Introduction to Shading
The Phong Model, Introduction to the Concepts of Shader, Reflection Models and BRDF
Global Illumination and Path Tracing
Introduction to Acceleration Structures
Volume Rendering for Artists
Volume Rendering for Developers: Foundations
Rendering Implicit Surfaces and Distance Fields: Sphere Tracing
3D Rendering: Advanced
Multi-Threading in Rendering
Distributed Ray-Tracing
BVH Acceleration Structure
Depth of Field
Motion Blur
Texture Mapping
Area Lights
BxDF, BRDF, BSSDF ... and all that jazz
Subsurface scattering
Path Tracing
Volume Rendering: Part2
Geometry
Bézier Curves and Surfaces: the Utah Teapot
Digital Imaging
Introduction to Light, Color and Color Space
Digital Images: from File to Screen
Simple Image Manipulations
Procedural Generation of Virtual Worlds
Value Noise and Procedural Patterns: Part 1
Perlin Noise: Part 2
Simulating the Colors of the Sky
Simulating Ocean Waves
Simulating Terrain