tonemapper
tonemapper copied to clipboard
Tiny script to compare tonemapping operators
- tonemapper
A python script to debug tonemapping operators. It plots the following filmic tonemapper curves with a fixed set of parameters:
- [[http://32ipi028l5q82yhj72224m8j.wpengine.netdna-cdn.com/wp-content/uploads/2016/03/GdcVdrLottes.pdf][Timothy Lottes Generic Filmic]] with [[https://bartwronski.com/2016/09/01/dynamic-range-and-evs/comment-page-1/][Fixes from Bart Wronski]]
- [[http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/][John Hable Piecewise Filmic]]
- [[http://filmicgames.com/archives/75][John Hable "Uncharted" Filmic]]
- [[https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/][Krzysztof Narkowicz ACES approximation]]
** Logarithmic scale with HDR max = 16 [[file:tonemapper_log.png]]
** Linear scale with HDR max = 2 [[file:tonemapper_linear.png]]
The settings for the Generic tonemapper are:
- Contrast = 1.2
- Shoulder = 0.97
- Mid in = 0.3
- Mid out = 0.18
The settings for the Piecewise tonemapper are:
- x0, y0 = 0.25
- x1, y1 = 0.6
- overshoot x = HDR max * 4
- overshoot y = 1.5
Both the Uncharted and ACES curve have been normalized to HDR max.
Linear curves are included for reference. Clamped to 1 and normalized to [0, HDR max], respectively.