blob: a49e4b3bda48d75258f3bb617842fdadfd11724b [file] [log] [blame]
<svg version="1.1" baseProfile="full" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" 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">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 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.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-specular-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feSpecularLightingElement">
<p>
Verify the basic operation of the feSpecularLighting element. The test shows
four rows of 3 images. Each row tests a different aspect of the filter and
shows the result of the filtering operation.
</p>
<p>
The first row shows the result of varying the surfaceScale attribute. The second
row shows the result of varying the specular constant (ks) attribute. The third
row shows the result of varying the specular exponent (np) attribute. The last
row shows the result of varying the lighting-color property.
</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 rendered picture should match the reference image.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-specular-01-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">
<!-- Title -->
<text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">Filters: feSpecularLighting</text>
<!-- ===================================================================== -->
<!-- Filter definitions -->
<!-- ===================================================================== -->
<defs>
<!-- ================================================= -->
<!-- Surface scale -->
<!-- ================================================= -->
<filter id="surfaceScaleA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="1" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="surfaceScaleB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="surfaceScaleC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="-10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<!-- ================================================= -->
<!-- Specular Constants -->
<!-- ================================================= -->
<filter id="specularConstantA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="0" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularConstantB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularConstantC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="2" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<!-- ================================================= -->
<!-- Specular Exponent -->
<!-- ================================================= -->
<filter id="specularExponentA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularExponentB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="2" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularExponentC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="4" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<!-- ================================================= -->
<!-- Lighting colors -->
<!-- ================================================= -->
<filter id="lightingColorA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="red">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="lightingColorB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="yellow">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="lightingColorC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="blue">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
</defs>
<!-- ==================================================== -->
<!-- The same image is rendered multiple times with using -->
<!-- different filters. -->
<!-- ==================================================== -->
<!-- Various Surface Scales -->
<g transform="translate(0, 20)">
<text x="90" y="25">Various values for surfaceScale: 1, 10 and -10</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)"/>
<image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#surfaceScaleB)"/>
<image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#surfaceScaleC)"/>
</g>
<!-- Various Specular Constants -->
<g transform="translate(0, 90)">
<text x="90" y="25">Various values for specularConstants: 0, 1 and 2</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularConstantA)"/>
<image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularConstantB)"/>
<image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#specularConstantC)"/>
</g>
<!-- Various Specular Exponents -->
<g transform="translate(0, 160)">
<text x="90" y="25">Various values for specularExponents: 1, 2 and 4</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularExponentA)"/>
<image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularExponentB)"/>
<image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#specularExponentC)"/>
</g>
<!-- Various Light Colors -->
<g transform="translate(0, 230)">
<text x="90" y="25">Various values for lighting color: red, yellow and blue</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)"/>
<image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#lightingColorB)"/>
<image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#lightingColorC)"/>
</g>
<!-- ===================================================== -->
<!-- Legends -->
<!-- ===================================================== -->
<!-- Surface Scale -->
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- 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>