Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Linear light questions
I have some questions about linear workspace.

I followed the instructions here and determined that Gimp 2.10 does indeed use linear calculations:
That's great!  I already knew this, sort of, but I have some issues understanding what is going on.

These tests work in both perceptual sRGB and Linear light.  What happens when I change the precision to 'linear light'?  Is it something that becomes embedded in any file I export?  I have also noticed that bit depth makes no difference, so why would I need to change it to higher than 8 bits if I just want correct linear maths?

Why does every guide I read about linear light insist that more than 8 bits are needed if I want to use linear light calculations?  Obviously this is not a strict requirement if Gimp can do linear calculations in perceptual sRGB and 8 bit.
The formats you export to (GIF, JPEG, PNG) are all gamma-corrected (perceptual). if you are in linear light, this conversion is added for export.

In 8-bit, round-off errors creep in quickly. Experiment, try this;

1) Create a 2560x400 image in 32FP mode.
2) Draw a black to white gradient across it
3) duplicate the layer, and set to "Multiply" mode.

The gradient will remain smooth.

Repeat 1-3 but with a 8-bit image, the final result has visible banding (more visible around the center). This is because in 8 bit your gradient has 256 10px steps. The steps are not very visible because their values are very close to each other. But when you multiply, the values are much more different. In more than 8-bit every pixel will have a different value from its horizontal neighbors and you will have 10 intermediate values.
Thanks for the response.

I am only trying to understand why there is so much insistence that linear light use more than 8 bits. Gimp 2.10 shows that linear calculations are possible in 8 bits and in perceptual color space.

Sure, there will be banding issues and histograms that look like hair combs of lost data, but more than 8 bits is not required to do linear light calculations.

I converted an 8 bit sRGB to 8 bit linear sRGB in Krita, and I got a message that linear is not supposed to be used in 8 bit. But that's the only way to get rid of the darkening effects from blurring in 8 bit. This subject is so confusing.

And I should say I absolutely love 2.10's new layer modes. 'Addition' layer mode doesn't automatically blow out the bright areas like it did in 2.8. The Floating point is my favorite because even if it blows out I can get the info back.
All explained there:

TL;DR: our eyes are non-linear sensors, in linear light, half the possible values are wasted to encode 20% of the vision range. Sustainable if you have a lot more levels that the eyes can sees (16-bit or more), not sustainable if you barely have enough (8-bit).

Forum Jump: