Raw File
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>
back to top