Turbulence filter output does not match SVG specification

Bug #168948 reported by Tavmjong on 2007-10-07
4
Affects Status Importance Assigned to Milestone
Inkscape
High
Unassigned

Bug Description

The turbulence filter when displayed inside Inkscape does not match either
that when exported to a PNG or that displayed by Firefox 3, Opera 9, or
Batik 1.6 (Batik 1.7 gives an "IllegalArgumentExeption" on the file). The
exported PNG seems to match better. I suspect that the filter region may
not be correct in the first case.

The filter also gives questionable results (blobs with solid colors) when a
solid white rectangle is put behind it.

Tested with SVN as of 7 Oct 2007 on Linux.

Tavmjong (tavmjong) wrote :

Originator: YES

This problems seem to happen when the source object has a stroke. At least
in one case, removing the stroke fixed the problem.

Another note, switching between Turbulence and Fractal Noise doesn't
always work. The SVG filter doesn't have a "type" attribute when Fractal
Noise is selected. As I read the standard, there is not a default "type" so
it should always be defined. (This could be a problem with updating the
tree... I've seen a similar problem with the lighting filters where the
light objects (i.e. feSpotLight) are missing attributes when a filter is
duplicated.)

Niko Kiirala (kiirala) wrote :

This is now partly fixed in SVN. Blobs with solid colours are now fixed by indicating correct colour space (non-premultiplied RGBA) and the render will re-render the filter, when output size changes.

Here's what's left to be done:
* Check output against Batik
* Check, if modifying stroke still changes output
* Investigate and fix, what's the problem with switching between turbulence and fractal noise

Changed in inkscape:
importance: Undecided → Medium
status: New → In Progress

when I implemented this filter I have guessed some values, as you can see at lines 30-33:

  fTileWidth(10), //guessed
  fTileHeight(10), //guessed
  fTileX(1), //guessed
  fTileY(1) //guessed

I have read the specs but I have not figured out which are the correct values here. Maybe this is why the output is not correct yet.

tags: added: filters-svg renderer
ScislaC (scislac) wrote :

Just putting a PING on this since it is marked as in progress and there are no comments in over a year and a half and the last substantive comment was over 3 1/2 years ago...

Krzysztof Kosinski (tweenk) wrote :

This is still a problem after Cairo rendering merge. Upping priority, since this is an SVG conformance problem.

Changed in inkscape:
status: In Progress → Confirmed
importance: Medium → High
assignee: Niko Kiirala (kiirala) → nobody
summary: - Turbulence filter has problems
+ Turbulence filter output does not match SVG specification
jazzynico (jazzynico) wrote :

Still present revision 11575.
Changing the tile values as suggested comment #3 doesn't seem to improve anything.

Krzysztof Kosinski (tweenk) wrote :

Rendering test suite results indicate that this bug is now fixed in trunk:
http://tavmjong.free.fr/INKSCAPE/W3C_SVG_0.91/htmlInkscapeHarness/filters-turb-01-f.html

This is probably due to filters supporting linearRGB color interpolation since r11972.

Changed in inkscape:
status: Confirmed → Fix Committed
milestone: none → 0.91
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers