blob: 9abe0bd88f9562d007953c62e8ed273c75192c16 [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!--======================================================================-->
<!--= Copyright 2000 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, Institut National de Recherche en =-->
<!--= Informatique et en Automatique, Keio University). All Rights =-->
<!--= Reserved. See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<!-- ===================================================================== -->
<!-- filters-specularLt-BE-08.svg -->
<!-- renamed for 1.1 suite to filters-specular-01-f.svg -->
<!-- Author : Vincent Hardy 06-08-2000 -->
<!-- revised for 1.1 : Luc Minnebo Mar/14/2002 -->
<!--======================================================================-->
<svg version="1.1" baseProfile="full" id="svg-root" width="480" height="360" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify">
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.8 $" testname="filters-specular-01-f.svg">
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<title id="test-title">filters-specular-01-f</title>
<desc id="test-desc">Validates operation of the feSpecularLighting filter</desc>
<!--======================================================================-->
<!--Content of Test Case follows... =====================-->
<!--======================================================================-->
<g id="test-body-content">
<!-- 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="resources/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)"/>
<image xlink:href="resources/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#surfaceScaleB)"/>
<image xlink:href="resources/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="resources/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularConstantA)"/>
<image xlink:href="resources/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularConstantB)"/>
<image xlink:href="resources/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="resources/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularExponentA)"/>
<image xlink:href="resources/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularExponentB)"/>
<image xlink:href="resources/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="resources/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)"/>
<image xlink:href="resources/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#lightingColorB)"/>
<image xlink:href="resources/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#lightingColorC)"/>
</g>
<!-- ===================================================== -->
<!-- Legends -->
<!-- ===================================================== -->
<!-- Surface Scale -->
</g>
<text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.8 $</text>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
</svg>