AgX
AgX is a tone mapper designed by Troy Sobotka and implemented for real-time use by Benjamin Wrensch (Missing Deadlines). It approaches tone mapping from a rigorous color-science perspective, producing results that feel natural and photographic — especially in high-contrast scenes where other operators tend to clip or hue-shift highlights.

How it works
AgX processes scene-referred linear HDR through a pipeline modeled on photographic film response:
- Input matrix — rotates from scene-linear into a working color space that de-correlates the channels.
- log₂ compression — maps the wide HDR range to a workable log domain, clamped to
[-12.47, 4.03]EV. - Normalization — maps the log range to
[0, 1]. - Sigmoid curve — a 6th-order polynomial approximation that smoothly rolls off both shadows and highlights.
- ASC-CDL look — applies the selected look via slope/power/saturation.
- Inverse input matrix — rotates back to display space.
- EOTF —
pow(x, 2.2)to convert to display-referred.
Look presets
The AgX Look setting selects one of three creative intents:
Default
A neutral, reference look. No color grading applied — closest to a straight film scan.
| Parameter | Value |
|---|---|
| Slope | (1.0, 1.0, 1.0) |
| Power | 1.0 |
| Saturation | 1.0 |

Golden
Warm, autumnal tones. Reduced blue channel and slightly soft contrast — reminiscent of golden-hour photography.
| Parameter | Value |
|---|---|
| Slope | (1.0, 0.9, 0.5) |
| Power | 0.8 |
| Saturation | 0.8 |

Punchy
High-impact look with boosted contrast and saturation. Good for stylized, vibrant art directions.
| Parameter | Value |
|---|---|
| Slope | (1.0, 1.0, 1.0) |
| Power | 1.35 |
| Saturation | 1.4 |

Settings reference
| Setting | Type | Description |
|---|---|---|
| AgX Look | Enum | Default / Golden / Punchy |
When to use AgX
- Realistic or photorealistic projects
- Scenes with very bright lights, emissive materials, or direct sun
- When ACES causes unwanted hue shifts or hard clipping in highlights
AgX is based on the minimal implementation by Benjamin Wrensch: iolite-engine.com/blog_posts/minimal_agx_implementation