On 2009-10-03, yahvuu <yah...@gmail.com> wrote:

> Using an analogy, the current situation for blending is like not
> having the curves tool, but only preset curves to choose from. And
> indeed there's a relation between curves and blending, for each RGB
> blend mode can be described as a set of 256 curves, at least within
> 8bit-accuracy.

"A curve" is a function of one variable.  "A layer mode" is a function
of two variables ("value" of a current level, and "value" of the
composite of levels below it; here "value" is, typically, the level of
R/G/B considered separately).

  [Here I assume Porter-Duff semantic of layer modes, so transparency
   is handled "automatically" when a function of 2 variables is
   given.  Otherwise (as with Dissolve) it is two functions of 4
   variables: given levels and transparency of this level, and those
   of the composite below, one gets new level and new transparency.]

The problem with your proposal is 2-fold:

 1)  "Invert" is just a particular case of an "apply-curve"; let's
     remove this redundant misfeature;

 1') Likewise for "levels".

 2)  More seriously: a graph is a convenient down-to-earth
     representation of a function of one variable.  It allows a simple
     intuitive concept of direct manipulation.

     I never saw a similar in convenience UI to directly manipulate a
     function of two variables.

Hope this helps,

P.S.  When GIMP has a JIT compiler present, there would be no
      significant problem in representing "a layer mode" as "a
      programming language CODE" implementing a function of two
      variables.  [Note similarity with how shaders in OpenGL work...]

Gimp-developer mailing list

Reply via email to