Scratchapixel 3.0
A free educational site that progressively introduces you to the world of computer graphics.
Our application programming approach guides you through small, easy-to-compile programs.
We’ve dispensed with unnecessary technical jargon in favor of everyday language.
Mathematics for Computer Graphics
Most common mathematical tools/techniques used in computer graphics/computer vision. Go through the lessons of the basic section first, and then eventually start reading these lessons as you go along.
3D Rendering for Beginners
Best read in chronological order (top to bottom).
- Introduction to Raytracing: 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 Developers: Foundations
3D Rendering for Beginners: Review
Before moving on to the next section (intermediate 3D rendering), let's review the essential concepts that we have learned so far. We will do so through a series of exercises and challenges for you to do (answers/solutions provided). Check the first lesson to read more...
Geometry
Methods to define shapes in computer graphics.
Digital Imaging
Saving and reading images to/from disk, image file format, color spaces, color management, and simple image processing.
Procedural Generation of Virtual Worlds
Pocedural simulation of natural phenomena.
- Value Noise and Procedural Patterns: Part 1
- Perlin Noise: Part 2
- Simulating the Colors of the Sky
- Simulating Ocean Waves