2
$\begingroup$

I'm new to Blender and currently digging into the nodes system, trying to figure out what all of those nodes actually do (aside from the information one is given in various YT-tutorials).

I came across a very strange behaviour of HSV values when it comes to Separating/Adding/Combining.

It's all about Pink:

  • RGB: 1 0 0.212
  • HSV: 0.917 1 1

I ) I can set up this pink just in a diffuse shader inputting RGB and/or HSV values.

II) I also get to this pink by mixing blue and red using "Add Shader" or using "Mix RGB - Add)

Blue:

  • RGB: 0.000 0.000 0.214
  • HSV: 0.667 1.000 0.500

Red:

  • RGB: 1.000 0.000 0.000
  • HSV: 0.000 1.000 1.000

(Results are 100% conform with same Photoshop blending mode)

III) I also get to this pink by manually adding values in the RGB system:

RGB color values

  • R: 0 + 1 = 1
  • G: 0 + 0 = 0
  • B: 0.214 - 0.002 = 0.212

IV) BUT: Manual adding of values does not work within the HSV-System!

HSV color values

  • H: 0.667 + 0.250 = 0.917
  • S: 1 + 0 = 1
  • V: 0.5 + 0.5 = 1

The outcome should be the same Pink but IT IS NOT! It's almost the same but a little darker.

Any ideas?enter image description here

enter image description here

$\endgroup$
0

1 Answer 1

5
$\begingroup$

No! There is not a single reason, why this should work. Manually adding HSV-System values will not necessary result in the same color as different other mixing methods.

Counterexample: Mix the turquoise colors [H=0.49,S=1,V=1] and [H=0.51,S=1,V=1] and a similar turquoise color will be the result. But if you add the values the result is red [H=1,S=1,V=1]

The reason for this behavior is purely based on the mathematics of color mixing and is not a question concerning blender.

$\endgroup$
2
  • 2
    $\begingroup$ See also en.wikipedia.org/wiki/HSL_and_HSV. The ‘H’ component is cyclic rather than linear so adding 2 of them results in nonsense. $\endgroup$ Commented Oct 6, 2018 at 20:41
  • 3
    $\begingroup$ An analogy: adding two vectors in [x,y] format is simple: just add [x1+x2, y1+y2]. But in [angle, magnitude] format, you don't just add the components. To double a vector, angle stays the same but magnitude doubles. $\endgroup$ Commented Oct 6, 2018 at 22:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .