Turbulence filter output does not match SVG specification

Bug #168948 reported by Tavmjong
4
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
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.

Revision history for this message
Tavmjong (tavmjong) wrote : Turbulence filter has problems
Revision history for this message
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.)

Revision history for this message
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
Revision history for this message
Felipe "Juca" Sanches (felipe-sanches) wrote :

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
Revision history for this message
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...

Revision history for this message
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
Revision history for this message
jazzynico (jazzynico) wrote :

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

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.