feTurbulence filter

parameters:

type: fractalNoise or turbulence

for each type:

baseFrequency: two positives values for x and y. 
numOctaves: positive integer
seed: positive integer ( change random colors )

Using pattern, you can fill shape with texture.

Tools: you can change parameters and type to see texture 
         add feComponentTransfer filter to change colors of texture
         add feColorMatrix filter to change colors of texture

Example: some examples with different values for parameters
            some examples with feComponentTransfer
            some examples with feColorMatrix
             some animations about texture
             using feTurbulence and fecomposite to change picture

Example of code using feTurbulence to create pattern and fill shape:

<defs>
<filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="400" height="400">
<feTurbulence type="fractalNoise" baseFrequency="0.01,0.1" numOctaves="4" seed='1'/>
</filter>
<pattern id="motif" patternUnits="userSpaceOnUse" x="0" y="0" width="400" height="400">
<use filter="url(#MyFilter)"/>
</pattern> 
</defs>
<circle cx='200' cy='200' r='200' style='stroke:black;fill:url(#motif)'/>