The numOctaves
attribute defines the number of octaves for the noise function of the <feTurbulence>
primitive.
An octave is a noise function defined by its frequency and amplitude. A turbulence is built by accumulating several octaves with increasing frequencies and decreasing amplitudes.
The higher the number of octaves, the more natural the noise looks. Though more octaves also require more calculations, resulting in a negative impact on performance.
Only one element is using this attribute: <feTurbulence>
html, body, svg { height: 100%; }
<svg viewBox="0 0 420 200" xmlns="http://www.w3.org/2000/svg"> <filter id="noise1" x="0" y="0" width="100%" height="100%"> <feTurbulence baseFrequency="0.025" numOctaves="1" /> </filter> <filter id="noise2" x="0" y="0" width="100%" height="100%"> <feTurbulence baseFrequency="0.025" numOctaves="3" /> </filter> <rect x="0" y="0" width="200" height="200" style="filter: url(#noise1);" /> <rect x="0" y="0" width="200" height="200" style="filter: url(#noise2); transform: translateX(220px);" /> </svg>
Usage notes
Value | <integer> |
---|---|
Default value | 1 |
Animatable | Yes |
<integer>
- Defines the number of octaves. Negative values are forbidden.
Example
<svg width="200" height="200" viewBox="0 0 220 220" xmlns="http://www.w3.org/2000/svg"> <filter id="displacementFilter"> <feTurbulence baseFrequency="0.05" numOctaves="3" result="turbulence"/> <feDisplacementMap in2="turbulence" in="SourceGraphic" scale="50" xChannelSelector="R" yChannelSelector="G"/> </filter> <circle cx="100" cy="100" r="100" style="filter: url(#displacementFilter)"/> </svg>
Specifications
Specification | Status | Comment |
---|---|---|
Filter Effects Module Level 1 The definition of 'numOctaves' in that specification. |
Working Draft | No change |
Scalable Vector Graphics (SVG) 1.1 (Second Edition) The definition of 'numOctaves' in that specification. |
Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
numOctaves | Chrome ? | Edge ? | Firefox ? | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android ? | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
Legend
- Compatibility unknown
- Compatibility unknown