« Return to Thread: turbulence filters

Re: turbulence filters

by Jasper van de Gronde :: Rate this Message:

Reply to Author | View in Thread

Josh Andler wrote:
> On 06/25/2009 05:52 AM, Jasper van de Gronde wrote:
>> To ensure that your file looks the same in Inkscape as in other
>> viewers, use color-interpolation-filters="sRGB" (as far as I know it's
>> perfectly valid to do this just once, on the root SVG element). I've
>> attached a file that shows how Batik renders filters-turb-01-f.svg
>> with this modification.
>
> I have a very important Q here for others... Should this be a release
> blocker? It sure sounds like a pretty significant one to me.

I raised the issue back in april (and in january) and suggested that we
do not try to truly fix this for the upcoming release, as this would not
exactly be trivial. At the time I tried mitigating it somewhat with some
help from bulia by making Inkscape automatically write the property on
filters it creates, but this could probably be greatly improved upon by
someone who really knows how this part of the code works (not the filter
part, but the SVG representation/serialization part).

> ...
> Not only is this something that we want to get corrected for our users,
> but this is one of those project reputation issues. It will be well over
> a year since our last release and one of our key new features is
> "broken" compatibility-wise with other SVG renderers/editors... and yet
> we're still on track to knowingly release with it?

I completely agree, and if you know of a low risk fix I'm completely in
favour. From what I can tell we would need to do the following:

  - Make sure EVERY element (not just filters) knows the value of its
color-interpolation(-filters) property/-ies.
  - Convert the "input" colors (background color, foreground color,
gradient stops, etc.) of each element to linearRGB if necessary. Note
that there are some tricky issues here with regards to gradients.
  - Somehow make sure that elements are composited correctly. They
should be composited using the color space of the *child* (and I'd have
to check whether this translates to always using the color space of the
foreground).
  - Convert any image that is used as input to a filter to the right
color space before operating on it.
  - Anything else I've forgotten?

And while you're at it there's a good chance you'll want to increase the
supported bit depth as well (to prevent any accuracy issues with
conversions back and forth).

And of course you'll still want to think about what we want to use as a
default, as I think the default from the standard is pretty weird to say
the least (especially since it actually includes operations which can do
normal alpha compositing, which would then only look different because
of the color space). It would probably be most logical to either use
sRGB for both properties or linearRGB for both properties.

------------------------------------------------------------------------------
_______________________________________________
Inkscape-devel mailing list
Inkscape-devel@...
https://lists.sourceforge.net/lists/listinfo/inkscape-devel

 « Return to Thread: turbulence filters