"Aurelien said : basecurve is bad"

If RGB code values are bounded in [0; 1] AND middle-grey = 50%, you are in non-linear display-referred.

To go to non-linear display-referred, you need some sort of non-linear tone curve that raises the midtones while keeping white as-is.

You need non-linear display-referred if you are using blending modes like soft light, overlay, hard light, darken, etc. because they rely on grey = 50 %. You also need display-referred if you are using HSL operators because if RGB > 1, S < 0 (I think colorize and split-toning modules work in HSL, I would need to check).

If RGB code values are bounded in [0; 1] AND middle-grey = 18%, you may be in linear display-referred or in scene-referred that happens to have low dynamic range. This will make blend modes like soft light, hard light, screen, overlay, darken, etc. fail because of the grey value.

If RGB code values are unbounded, you are in scene-referred.

You need scene-referred to apply white balancing/chromatic adaptation, apply input profiles/correction matrix/channel mixing in color calibration, emulate optical effects such as lens blur, or undo optical flaws such as lens blur or hazing.

Notice that the end of the pipeline is necessarily display-referred because it ends in a display. So the scene-referred pipeline ends with a display-referred part. The scene-referred workflow only means that you work your colors before the display transform. Which is why you need to mind the place of the non-linear transform in your pipeline.

15 Likes