[filter-effects] Maximum of octaves for feTurbulence

Hi all,

There is a request to limit numOctaves for feTurbulence to a number of 10 [1]. The value of numOctaves describes the number of iterations the coherent-noise is generated by increasing frequency and decreasing amplitude. As noted in [2], at a certain iteration one can not expect more information while the time to calculate the noise still increases with increasing iteration. The libnoise tutorial says:

“”
Notice that the amount of detail increases when the number of octaves increases. Beyond a certain number of octaves (determined by the resolution of the terrain height map), the frequency of the Perlin noise is greater than the resolution of the height map and you are doing more work than needed, for no effect.
“”
(The tutorial take the creation of terrains as one example for Perlin noise.)

I discussed this manner with Fredrik and Erik. Frederik explained that the terrain resolution in the quote is the number of bits per component for feTurbulence. UAs usually have 8bpc. Therefore, for UAs with 8bpc, an iteration >9 doesn’t give much value. For UAs with > 8bpc, more iterations (numOctaves > 9) could be of value.

Therefore, I don’t think that we can specify a fixed limit for numOctaves. Instead, I suggest to use the quote of above:

Note: The amount of detail increases when the number of octaves increases. Beyond a certain number of octaves, the frequency of the Perlin noise is greater than the color depth. The amount of information does not increase any further [2 informative reference]. UAs may clamp the specified value for numOctaves during the processing depending on the supported color depth. (For example: For a color depth of 8 bit per channel, the UA may clamp the value of numOctaves to 9.)

Greetings,
Dirk

[1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=22435
[2] http://libnoise.sourceforge.net/tutorials/tutorial4.html#octaves

Received on Friday, 6 December 2013 17:12:55 UTC