Home▸Perception & Optical Illusions▸Color Constancy & Chromatic Adaptation (2D)

Color Constancy & Chromatic Adaptation (2D)

A Canvas2D von Kries chromatic-adaptation lab: divide RGB channels by an illuminant estimate to restore true reflectance, plus Simultaneous Contrast, Dress Illusion and Retinex normalisation views.

Perception & Optical Illusions2DModerate60 FPS📱 Mobile-adapted⇄ 3D version
2d-color-constancy ↗ Open standalone

This 2D companion renders the same von Kries chromatic-adaptation math as the 3D version through plain Canvas2D fills instead of a fragment shader: nine reference patches sit under a tinted illuminant, an Adaptation Strength slider blends each patch's colour back toward its true reflectance by dividing out the illuminant per channel, and dedicated Simultaneous Contrast, Dress Illusion and Retinex-normalisation views sit behind the same Display Mode selector as the 3D original.

⚙ Under the hood

Canvas2D von Kries chromatic adaptation: per-channel divide-by-illuminant blended by an adaptation-strength slider, with Simultaneous Contrast, Dress Illusion and Retinex reflectance-ratio modes.

color constancychromatic adaptationvon kriesretinexcolor perception2d

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)