Some layer modes affect the blending of layer above them.
GIMP version:
2.10.20 and 2.10.22
Operating System: Windows 10
Package: Installer from gimp.org
Description of the bug
When a layer use the default "Burn", "Linear Burn" or "Linear light" layer mode, layers above it may result in unexpected colours. The resulting picture is different from what would be obtained if the offending layer and all the layers below had been merged.
My assumption is that these layer modes are somehow able to create colours with negative RGB components.
Reproduction
Is the bug reproducible? Always
Reproduction steps:
- In a new file, fill a layer with
#808080
- Above it, create a layer filled with
#804000
, and set its mode to "Burn".
(The sampled merged colour is#020000
, close to pure black). - Above it, create a layer filled with pure white, and lower its opacity a bit.
Example file: burn.xcf
…
Expected result:
The resulting color should be a near-perfect shade of grey :
Actual result:
The resulting color is a very saturated yellow or red :
Additional information
The expected result can be obtained by doing either one of the following :
- Merging down the "Burn" layer into the background.
- Using the Legacy version of the Burn layer mode
- Inserting a pure black layer with the Legacy "Subtract" mode right above the Burn layer.
- Putting the burn layer and the background into a layer group with the "Normal" layer mode. ("Pass Through" still perpetrates the issue.)
Another example of unexpected blending that strikes me as noteworthy: putting a pure-black layer using the "Difference" mode at the top of the layer stack.
I would expect such a layer to not actually change the colours below it, but in this example, it will turn the black spot into a very bright cyan.