filters-light-05-f-manual.svg
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="ED" author="AG" status="reviewed"
version="$Revision: 1.3 $" testname="$RCSfile: filters-light-05-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDistantLightElevationAttribute">
<p>
This test verifies that the <a>'elevation'</a> attribute is interpreted as a
complementary value to the z-axis in degrees.
</p>
<p>
The test shows four different elevation angles that can be used for feDistantLight source.
The four different feDistantLight light sources are used in three different filter cases; feDiffuseLight, feSpecularLight
and feMerge which merges both feDiffuseLight and feSpecularLight to form a single filter. Using four different elevation values
in three different filter cases gives twelve different filters. All twelve filter cases are applied to a vector graphic and
then to a raster graphic. The vector graphic results are shown to the left and the raster graphic results are shown to the right.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if
</p>
<ul>
<li>The top row has from left to right for a single graphic set:
<ul>
<li>A green square with a black circle inside of it</li>
<li>A black square</li>
<li>A black square with a green semicircle inside the lefthand side of the rect</li>
<li>A black square with a green semicircle inside the righthand side of the rect</li>
</ul>
</li>
<li>The middle row has from left to right for a single graphic set:
<ul>
<li>A green square with a white circle inside of it</li>
<li>A green semicircle pointing to the right on top of a white background</li>
<li>A green square with a white crest inside pointing to the right</li>
<li>A green square with a white crest inside pointing to the left</li>
</ul>
</li>
<li>The bottom row has from left to right for a single graphic set:
<ul>
<li>A green square with a black circle inside of it</li>
<li>A black square with a green semicircle inside pointing to the right</li>
<li>A green square with a circle inside that has a shadow on the righthand side and a reflection on the lefthand side</li>
<li>A green square with a circle inside that has a shadow on the lefthand side and a reflection on the righthand side</li>
</ul>
</li>
</ul>
<p>
If the test shows any red, the test has failed.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-light-05-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs color="#00FF00">
<filter id="distantLightUp">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="90"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightDown">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="270"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightLeft">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="180"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightRight">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="0"/>
</feDiffuseLighting>
</filter>
<filter id="specularLightUp">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="90"/>
</feSpecularLighting>
</filter>
<filter id="specularLightDown">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="270"/>
</feSpecularLighting>
</filter>
<filter id="specularLightLeft">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="180"/>
</feSpecularLighting>
</filter>
<filter id="specularLightRight">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="0"/>
</feSpecularLighting>
</filter>
<filter id="combinedUp">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="90"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="90"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
<filter id="combinedDown">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="270"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="270"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
<filter id="combinedLeft">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="180"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="180"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
<filter id="combinedRight">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="0"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="0"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
</defs>
<text x="70" y="40" stroke="none" fill="black">feDiffuseLight using feDistantLight source</text>
<g transform="scale(1.5) translate(5 45)">
<circle id="c1" r="10" fill="red" filter="url(#distantLightUp)" transform="translate(20 0)"/>
<circle id="c2" r="10" fill="red" filter="url(#distantLightDown)" transform="translate(50 0)"/>
<circle id="c3" r="10" fill="red" filter="url(#distantLightLeft)" transform="translate(80 0)"/>
<circle id="c4" r="10" fill="red" filter="url(#distantLightRight)" transform="translate(110 0)"/>
</g>
<text x="20" y="100" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="65" y="100" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="110" y="100" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="160" y="100" font-size="10" stroke="none" fill="black">0 deg</text>
<text x="70" y="135" stroke="none" fill="black">feSpecularLight using feDistantLight source</text>
<g transform="scale(1.5) translate(5 110)">
<circle id="c1" r="10" fill="red" filter="url(#specularLightUp)" transform="translate(20 0)"/>
<circle id="c2" r="10" fill="red" filter="url(#specularLightDown)" transform="translate(50 0)"/>
<circle id="c3" r="10" fill="red" filter="url(#specularLightLeft)" transform="translate(80 0)"/>
<circle id="c4" r="10" fill="red" filter="url(#specularLightRight)" transform="translate(110 0)"/>
</g>
<text x="20" y="195" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="65" y="195" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="110" y="195" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="160" y="195" font-size="10" stroke="none" fill="black">0 deg</text>
<text x="30" y="230" stroke="none" fill="black">feDiffuseLight and feSpecularLight using feDistantLight</text>
<g transform="scale(1.5) translate(5 170)">
<circle id="c1" r="10" fill="red" filter="url(#combinedUp)" transform="translate(20 0)"/>
<circle id="c2" r="10" fill="red" filter="url(#combinedDown)" transform="translate(50 0)"/>
<circle id="c3" r="10" fill="red" filter="url(#combinedLeft)" transform="translate(80 0)"/>
<circle id="c4" r="10" fill="red" filter="url(#combinedRight)" transform="translate(110 0)"/>
</g>
<text x="20" y="290" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="65" y="290" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="110" y="290" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="160" y="290" font-size="10" stroke="none" fill="black">0 deg</text>
<g transform="translate(0, 55)">
<image xlink:href="../images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#distantLightUp)"/>
<image xlink:href="../images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#distantLightDown)"/>
<image xlink:href="../images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#distantLightLeft)"/>
<image xlink:href="../images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#distantLightRight)"/>
</g>
<text x="245" y="100" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="305" y="100" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="365" y="100" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="430" y="100" font-size="10" stroke="none" fill="black">0 deg</text>
<g transform="translate(0, 150)">
<image xlink:href="../images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#specularLightUp)"/>
<image xlink:href="../images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#specularLightDown)"/>
<image xlink:href="../images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#specularLightLeft)"/>
<image xlink:href="../images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#specularLightRight)"/>
</g>
<text x="245" y="195" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="305" y="195" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="365" y="195" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="430" y="195" font-size="10" stroke="none" fill="black">0 deg</text>
<g transform="translate(0, 240)">
<image xlink:href="../images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#combinedUp)"/>
<image xlink:href="../images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#combinedDown)"/>
<image xlink:href="../images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#combinedLeft)"/>
<image xlink:href="../images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#combinedRight)"/>
</g>
<text x="245" y="290" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="305" y="290" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="365" y="290" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="430" y="290" font-size="10" stroke="none" fill="black">0 deg</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>