Re: Displaying linear gamma images (Was Re: Update on my Gimp color management coding efforts)

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

 



On 10 September 2013 17:15, Elle Stone <l.elle.stone@xxxxxxxxx> wrote:
> On 11/12/12, Elle Stone <l.elle.stone@xxxxxxxxx> wrote:
>> On 11/10/12, Michael Natterer <mitch@xxxxxxxx> wrote:
>>> On Sat, 2012-11-10 at 15:17 -0500, Elle Stone wrote:
>>>> On 11/8/12, Jon Nordby <jononor@xxxxxxxxx> wrote:
>>>> > * Change the lcms-based conversion (modules/display-filter-lcms.c)
>>>> > from being a generic display filter to be something that takes a
>>>> > GeglBuffer in and blits into a cairo_surface_t.
>>>> > * Change the display filter interface to accept a GeglBuffer instead
>>>> > of a cairo_surface_t. As gimp_color_display_convert_surface is public
>>>> > API, it should probably become a stub and be marked as deprecated. New
>>>> > interface could for instance be called
>>>> > "gimp_color_display_convert_buffer"
>>>> > * Adapt all the display filter operations (modules/display-filter-*.c)
>>>> > to the new interface and to working on 32bit floating point. If any of
>>>> > the operations are no longer useful, now would be the time to drop
>>>> > them.
>>>> > * In the use of the display filter stack (in
>>>> > gimp_display_shell_render), first let the filter stack operate on the
>>>> > GeglBuffer from the projection (or possibly a copy), and then pass it
>>>> > to the lcms-based color conversion, and then pass that to cairo.
>>>> I'm looking forward to taking another look at the monitor display code
>>>> path. Your suggestions sound very helpful.
>>>
>>> It does, but it's clearly step 2 (or step n). IMO we should first
>>> get the lcms plug-in right so the data GIMP is dealing with is
>>> correct in the first place.
>>

Hi Elle,
nice to see this picked up again!

> Step 1 happened a long time ago. I'm trying to implement Jon Norby's
> suggestions because it would be nice to see a linear gamma image
> displayed without posterization in the shadows from the conversion to
> 8-bits that happens before the conversion to the monitor profile.
> Quoting Jon's suggestion:
>
> (1)call a "GeglBuffer from the projection (or possibly a copy)" and then
> (2)pass it to the lcms-based color conversion, and then
> (3)pass that to cairo.
>
> So how does one "call a GeglBuffer from the projection"?

I said "operate on", not "call". :)
The projection has a GeglBuffer associated with it, see
https://git.gnome.org/browse/gimp/tree/app/display/gimpdisplayshell-render.c#n77

That is what the color conversion needs to use as an input, basically*.

* It should probably go through the display filters first, if any
exists. But that can probably be solved later.

-- 
Jon Nordby - www.jonnor.com
_______________________________________________
gimp-developer-list mailing list
List address:    gimp-developer-list@xxxxxxxxx
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list




[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