Okay, I can't believe I never noticed this until today but... the MixRGB node's Subtract and Difference blend modes both appear to produce the same output.
Start with white and take blue away from it... both blend modes produce yellow.
To specify precisely with hex codes: #ffffff minus #0000ff equals #ffff00 no matter which blend mode is used.
So pardon my wording but, is there any difference?
Let's consult the Blender Manual:
Subtract
Taking Blue away from white leaves Red and Green, which combined make Yellow. Taking Blue away from Purple leaves Red. Use this to desaturate an image. Taking away yellow makes an image bluer and more depressing.
Difference
It takes out a color. The color needed to turn Yellow into White is Blue. Use this to compare two very similar images to see what had been done to one to make it the other; sort of like a change log for images. You can use this to see a watermark (see Watermark images) you have placed in an image for theft detection.
So the descriptions are a little different... but I reiterate: is there any difference?
(If the answer is that they are identical, that's fine. I just want to know before I go creating a bunch of node setups based on an assumption.)
Color1
to red (#ff0000) and plugged an image intoColor2
. In this configuration there is a clear difference. The best I can explain it though is that Subtract takes away non-reds leaving a red and black two-tone image, while Difference takes away from red according to what the other colors are, which leaves red where darker areas ofColor2
's image would be. $\endgroup$Color1
and I want to invert it to cyan, I should use Difference, with white asColor2
. I someone posts an answer that can be understood intuitively (maybe with some visual examples), I will most likely accept it. $\endgroup$