SPECIMEN · 024 · § I · AUTHORING · CYCLES
PROJECT LAVOS · THE STACK
CYCLES · BLENDER · OPEN-SOURCE PATH TRACER · 2011

CYCLES.

The integral, made visible.
The Rendering Equation · Kajiya · 1986
Lo(x, ωo) = Le(x, ωo) +Ω fr(x, ωi, ωo) Li(x, ωi) (ωi·n) dωi
The light leaving a point equals the light emitted there, plus an integral over every direction light could arrive from, weighted by the BRDF and the cosine of the angle.
"THE RENDERING EQUATION" · SIGGRAPH '86 · J. KAJIYA

An integral over a hemisphere. The light leaving a surface in any direction depends on the light arriving from every direction. There is no closed form. There is no analytic answer. The only way out is to sample — fire a ray from the camera into the scene, follow it as it bounces, accumulate what it gathers, and average across hundreds of thousands of paths until the noise drops below what your eye can see.

Cycles is the path tracer Blender ships with. Open source, GPL, written in C++, with kernels compiled to CPU, CUDA, OptiX, HIP, Metal, and oneAPI. It is the default ceiling for every code-driven render pipeline that doesn't have a film-studio license. The bake runs once, on a render farm or a workstation overnight, and produces a single image — the same image Kajiya's equation would have produced in the limit, given infinite samples.

The artifact below shows the convergence directly. Watch the noise resolve. One sample per pixel is grain. Sixteen samples is shape. A hundred and twenty-eight samples is a recognisable image. A thousand samples — what production typically ships at — is photographic. The rendering equation hasn't changed since 1986. The only thing that changed is how many times per second silicon can evaluate it.

RENDER · cornell · path tracing · max bounces 8
SAMPLING
1 spp
0.00s
1 4 16 64 256 1024
Each pixel re-samples per frame. The visible result is a running mean over all samples accumulated so far. Reset · noise · convergence · repeat.
Lineage
  • 1986Kajiya publishes The Rendering Equation at SIGGRAPH. Path tracing as a numerical method for global illumination becomes a discrete idea.
  • 2011Cycles ships in Blender 2.61. Brecht Van Lommel's path tracer replaces the legacy Blender Internal renderer as the default. The free path tracer arrives.
  • 2014Cycles GPU rendering matures via CUDA. Render times collapse for users with consumer GPUs.
  • 2018OptiX and AI denoising integrate. A 64-spp render with the denoiser passes for a 256-spp render most of the time.
  • 2021Cycles X — major architectural rewrite. Faster sampling, better shaders, broader hardware support across CUDA / OptiX / HIP / Metal / oneAPI.
  • 2024Cycles standalone. The renderer ships independent of Blender for embedding in other pipelines. The path tracer becomes a library.
Adjacent
  • BlenderThe suite Cycles ships in. The path tracer's primary host.
  • OSLOpen Shading Language. The CPU shader language Cycles uses for production-grade material authoring.
  • OptiXNVIDIA's ray-tracing library. Cycles' fastest GPU path on RTX hardware.
  • Mitsuba 3The research-grade differentiable cousin. Same equation, different pedagogy.
  • Plate IX"The Path Tracer" — the editorial study where Cycles, Octane, and Redshift are all named.
  • PBRTThe reference textbook implementation. Cycles is what production looks like; PBRT is what teaching looks like.
SAMPLE. AVERAGE. CONVERGE.
SPECIMEN 024 · MMXXVI · § I · AUTHORING
PREV · 023 MARMOSET · ../THE STACK