Re: Lab conversion, GEGL, RGB space, Illuminant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 13, 2010 at 4:17 PM, Rupert Weber <gimp@xxxxxxxxxxxxxx> wrote:
> On 08/13/2010 01:57 PM, Øyvind Kolås wrote:
>> That code is never used (gggl-lies contains a bunch of conversions,
>> some which are expected to fail - but only the correct ones pass the
>> runtime regression testing all conversions are subject to). CIE.c in
>> the same directory is what is used.
>>
>
> Thanks.
> The comment in the code also explains the current difference:
>  /* The gamma related code has been removed since we do our
>   * calculations in linear light. [...]
>
> When I remove gamma correction, I get the same result with layermodes as
> GEGL.
>
> Does that mean GEGL should do the gamma correction before passing the RGB
> data to babl?

Only babl is doing color model, gamma, bit depth etc conversions,
never GEGL. If the data is "R'G'B'A float" babl would take care of
making it linear before doing the real conversion. Though that is
unlikely as GEGL prefers to pass around "RGBA float" or "RaGaBaA
float" data which is linear.,

I do not know the details, but I suspect GIMP is lying about most
buffers being passed to GEGL. It probably is lying and pretending that
sRGB data is linear.. by passing pixel data to GEGL as "RGBA u8"
instead of "R'G'B'A u8" ... to maintain rendering compatibility with
the legacy GIMP core, layer modes etc. which all assume compositing
done in gamma corrected rather than using linear light.

/Øyvind K.
-- 
NB: please include the mailinglist itself in replies to posts on the list.
_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer



[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux