On Dec 6, 2010, at 2:02 AM, Olivier BERTEN wrote: > Well... I guess my question wasn't clear ;-) > > What I'm looking for are the actual algorithms used for gradients > rendering in the different existing rendering engines. In other words: > how do I compute the color value of a point in a gradient. > > Some underlying questions are: > How do you deal with middle point? isn't it just another color stop?
Depending on the mode for the segment (see GIMP blend modes http://wiki.inkscape.org/wiki/index.php/Swatch_Book#Gradient ). You probably should think of it more as a control point for the interpolation function. > For the software dealing with different color models, how do you deal > with "mixed" gradients? from a RGB color to a CMYK color, for instance? > The "Color gradient" article on Wikipedia says "In digital imaging > systems, colors are typically interpolated in an RGB color space, often > using gamma compressed RGB color values, as opposed to linear." It really depends on the software. Adobe often will use the color mode/colorspace with the most fidelity. CMYK is a common fallback. And even SVG that interpolates in RGB does allow for explicit control of interpolation in either sRGB or linear RGB. > Who does > gamma compression? How? > I guess the best way to know that is to look at the code so here's for > Gimp. If you can give me directions for other rendering engines, that > would be great. I'd like to get an equivalent of the > gimp_gradient_get_color_at for other softwares. > > http://git.gnome.org/browse/gimp/tree/app/core/gimpgradient.c For other software, things are trickier. However there are specs out there for postscript, PDF, etc. And people like those in #scribus in IRC are quite familiar with them. _______________________________________________ CREATE mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/create
