Filtre feSpecularLighting

Vous définissez une source lumineuse avec feSpotLight, feDistantLight ou fePointLight.
Vous devez utiliser feComposite, feMerge ou feBlend pour composer l'image et son éclairage.
feComposite donne les meilleurs résultats ( plus de paramètres ).

Paramètres:

surfaceScale : hauteur de la surface quand Ain = 1.
specularConstant : ks dans le modèle Phong. En SVG, c'est un nombre positif.
specularExponent : Exponent pour le terme specular, plus il est grand, plus il y a diffusion. De 1 à 128.
lighting-color : couleur de la lumière.
result : nom du RGBA créé.

Outils: Vous pouvez changer les paramètres de feSpecularLighting et feComposite et déplacer à la souris l'éclairage sur une image JPEG ou SVG ( pour feSpotLight ).
Source lumineuse: feSpotLight, feDistantLight ou fePointLight
Exemples:éclairer un cube en 3D avec 3 filtres un par face visible
            animation coucher de soleil sur montagnes et eau ( utilisant fePointLight )
Utiliser feGaussianBlur, feOffset, feSpecularLighting et feComposite pour créer un effet 3D d'éclairage

Exemple de code:

<defs>
<filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="400" height="400">
<feImage xlink:href='#MyImage' result='image'/>
<feSpecularLighting lighting-color='white' result='spot' specularConstant ='1' specularExponent='16'> 
<feSpotLight x='200' y='200' z='200' pointsAtX='200' pointsAtY='100' pointsAtZ='0' specularExponent='16' limitingConeAngle='45' />
</feSpecularLighting>
<feComposite in='image' in2='spot' operator="arithmetic" k1="0.5" k2="1" k3="1" k4="0"/>
</filter>
<image id="MyImage" width='400' height='400' xlink:href='puzzle.jpg'/>
</defs>
......
<use filter="url(#MyFilter)" x='0' y='0'/>