On 2009-10-03, yahvuu <yahvuu@xxxxxxxxx> 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, Ilya 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 Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer