Moments in Graphics
A blog by Christoph Peters

Spectral rendering: Overview

Published 2025-11-05

Rather than treating colors as RGB triples, spectral rendering uses spectra, which specify an intensity for each wavelength. This blog post series describes how spectral rendering can be implemented at a relatively low overhead (as compared to RGB rendering) and why that is beneficial.

Note that the links to parts 2 and 3 will be broken until these posts become available:

Part 1: Spectra
This post discusses basics of spectral rendering, describes where we can get illuminant spectra for light sources and how we can obtain reflectance spectra from RGB textures efficiently.
Part 2: Real-time rendering
This post describes how we can use Monte Carlo integration to implement spectral rendering efficiently, how we make it work with the usual microfacet BRDF models and what the overhead is.
Part 3: Spectral vs. RGB
This post compares RGB rendering to spectral rendering to demonstrate the advantages of spectral rendering.