I'm trying to implement a tone mapping operator and as I was searching for a simple algorithm I found "A Contrast-Based Scalefactor for Luminance Display" by Greg Ward published in Graphic Gems IV.

The main idea is that the scale factor equals to:

Code: Select all

`Lda = Ldmax / 2`

sf = (1 / Ldmax) * ( (1.219 + Lda^0.4) / (1.219 + Lwa^0.4) )^2.5

The problem is, when I was looking at various implementations out there I found several different ways how to calculate of Ldmax and Lda. For Ldmax, I found values ranging from 3.5 to 200, and Lda was Ldmax / 2 or Ldmax / 4.

Ward writes that "for a modern CRT display" Ldmax is 100 cd/m^2. However, modern displays can easily reach more than 400 cd/m^2. And I couldn't find how Lda was derived.

Please, does anyone know how to derive these two values? And why? Also, as I basically stumbled upon this particular algorithm, I'm more than open to suggestions for another (simple) operators.