Az

Schriftart wählen

Schriftgröße wählen

Zeilenabstand wählen

Schnellzugriff Verlauf Funktionen

darktables modes of blending

Workspace: Blend mode:
Opacity: 100%
?
new / top layer color
old / bottom layer color

Help

Here you can see how the different blend modes of darktable work with regard to color and such.
It's meant for people like me, who are completely unable to understand the blend modes.

  1. The Workspace select switches between the RGB and L*a*b blend modes.
  2. The Blend mode select allows you to switch between the blend modes. A blend mode you can't select needs another workspace. The list is strictly limited to the darktable blend modes.
  3. The opacity slider is a horrible thing. You need to release it before any updates are made (thank the HTML/CSS/Javascript devils for that. (*). There should be a few labels under the slider (0, 50 and 100%), but a number of browsers still don't implement the datalist element, and all others implement it badly. I promise to not disturb your peace again with annoying facts about web browsers (you can find enough nightmares in the bug tracking systems of all major browsers. You could, for example, read through more than 60000 open bugs in the chromium bug tracker, if that pleases you). (**)
    But the slider itself works, and the real opacity is shown under the word 'opacity'.
  4. The add this color button adds the color in the color input thing below it to the table below (that color input works in about 95 percent of the browsers, and falls back to a text input, where you could enter the colors in HTML notation (#A123BC), which a hash and 6 hexadecimal numbers (0-9, a-f).
  5. The reset just reloads the page with a clean slate.
  6. You can always bookmark the page with your changes and see them again, should you ever happen to re-visit it.

*) Yes, devils. No benign divine entity would come near the HTML cosmos without burning the shit down.

**) one might argue that the term in parentheses might have broken that promise, but I see this as a public service.

More or less random notes

Or "what you really should know".

Note 1: Some of these modes show their possibilities only if you turn down the opacity.

Note 2: In reality, you will not see the very same results in darktable for a number of reasons. The most important one is that this page does all calculations in a non-linear way (that is, "after gamma correction", though that isn't really the right wording), but in darktable most of the operations are done in the linear space.

A simple example: let's say we've got a linear data range from 0 to 16, which is translated to non-linear space by multiplying with itself (0*0 to 0, 16*16 to 256). We have one layer with the maximum value, and one layer with the minimum value, and want to average them. The middle/average values are 8 and 128 in linear and quadratic space, but 8 times 8 is not 128 (things get a bit more complicated in reality, since a gamma of 2.2 and unbounded maximum values in the linear space make the numbers awful).
Having said that: this page can always show you the general direction.

Note 3: The "subtract(JzCzHz)" mode is the subtract mode darktable uses in the JzCzHz blending. It's different from the implementation in the other code paths. The "usual" subtract is "old + new - 0.5" (***), the JzCzHz (****) subtract is "old - new", which is quite different and far less stupid.

***) I hereby congratulate the first one to use that absurd naming. You annoyed people for at least three decades. Note: I might congratulate, but I still dislike you.

****) As i just wrote about naming: JzCzHz is horrible naming, too. Which kind of drugs do i have to avoid so i never do something like that?

Privacy Policy

This site happens to not be in the business of selling or otherwise abusing user data, and it doesn't feed any of big or small companies with information (data) except those information meant to be published.
You don't need to register at the site to use this page. In fact, i'd like you not to register unless you want to upload images or comment them.
Cookies: We set one cookie (ufsession, a session cookie deleted after whatever your browsers calls a session ends - yes, there is no binding definition of the word session) whenever you visit, and possibly a few other cookies if you happen to use site functions needing cookies. As you possibly guessed this page doesn't need any.

Clone Policy aka Copyright

If you happen to like this page, but dislike the privacy policy or the site around or whatever, or you want to work on it for your own purposes, you can find the source code here. The code on this page (linked in the last sentence) is published under the conditions of the GNU Affero General Public License version 3.
In case you wonder who i am: Uwe Ohse, uwe@ohse.de (don't hold your breath expecting my answer. Just retry it often enough, after a week of waiting, and I might notice your mail. Or i might not. 30 years of email tired me).

Version history

2017
written and forgotten soon after.
2021
found it again and removed some dust.