| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
| |
| <!--======================================================================--> |
| <!--= Copyright 2000, 2002 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-dispMap-BE-16.svg --> |
| <!-- renamed for 1.1 suite to filters-displace-01-f.svg --> |
| <!-- --> |
| <!-- Test which verifies the basic facilities of feDisplacementMap. --> |
| <!-- --> |
| <!-- Author: Peter Graffagnino 15-Aug-2000 --> |
| <!-- 1.1 revision by Thomas DeWeese 5-Feb-2002 --> |
| <!-- --> |
| <!-- History: --> |
| <!-- 15-Aug-2000, pgraff created. --> |
| <!-- 29-Aug-2000, LH=" corrected DOCTYPE" fix BE number. --> |
| <!-- 29-Aug-2000, pgraff fixed another occurance of BE-00 --> |
| <!-- --> |
| <!--======================================================================--> |
| <!--======================================================================--> |
| <!--= Note. After October 2000, revision history is kept as CVS 'commit' =--> |
| <!--= log messages, and therefore is no longer in the preceding preamble.=--> |
| <!--======================================================================--> |
| |
| <svg version="1.1" baseProfile="full" id="svg-root" width="100%" height="100%" |
| xmlns="http://www.w3.org/2000/svg" |
| xmlns:xlink="http://www.w3.org/1999/xlink" > |
| |
| <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/"> |
| <OperatorScript version="$Revision: 1.6 $" testname="filters-displace-01-f.svg"> |
| <Paragraph> |
| Verify the basic capability to handle the feDisplacementMap filter |
| node. Six images should appear in 2 rows of 3. On the left in each |
| row a test image of a checker board is displayed. In the middle |
| column is the displacement map. In the right-hand column is the |
| result. All displacement maps are generated as png files with gamma |
| 1.0 and must be interpreted linearly for the proper geometric |
| displacement to occur. |
| </Paragraph> |
| <Paragraph> |
| The top row tests a displacement map which displaces each pixel by an |
| amount equivalent to a rotation of 20 degrees around the center of the |
| image. A blue reference rectangle is drawn on the result using an svg |
| transform attribute to mimick the same 20 degree rotation. The edges |
| of the blue rectangle should be parallel to the grid lines in the |
| displaced image. Distortion of the grid pattern such that the grid |
| lines are slightly curved is indicative of improper gamma handling in |
| the viewer. |
| </Paragraph> |
| <Paragraph> |
| The bottom row tests a displacement map which distorts the image |
| spherically. The rendered image should match the reference image. In |
| particular the center of the distorted image should be on a gridpoint. |
| </Paragraph> |
| <Paragraph> |
| In addition to feDisplacementMap, this test uses the 'feImage' and |
| 'rect' elements. Figure labeling uses the text element. The |
| reference blue rectangle uses fill, fill-opacity, and transform. |
| </Paragraph> |
| </OperatorScript> |
| </SVGTestCase> |
| |
| <title id="test-title">filters-displace-01-f</title> |
| <desc id="test-desc">Test which verifies the basic facilities of feDisplacementMap.</desc> |
| <!--===============================================================--> |
| <!--Content of Test Case follows... ==============--> |
| <!--===============================================================--> |
| <g id="test-body-content"> |
| <defs> |
| <filter id="DispMapChecker" filterUnits="objectBoundingBox" |
| x="0" y="0" width="1" height="1"> |
| <feImage xlink:href="resources/DisplaceChecker.png"/> |
| </filter> |
| <filter id="RotateMap" filterUnits="objectBoundingBox" |
| x="0" y="0" width="1" height="1"> |
| <feImage xlink:href="resources/rotate20.png"/> |
| </filter> |
| <filter id="SphereMap" filterUnits="objectBoundingBox" |
| x="0" y="0" width="1" height="1"> |
| <feImage xlink:href="resources/sphere.png"/> |
| </filter> |
| <filter id="RotateMapTest" filterUnits="objectBoundingBox" |
| x="0" y="0" width="1" height="1"> |
| <feImage result="Map" xlink:href="resources/rotate20.png"/> |
| <feImage result="Texture" xlink:href="resources/DisplaceChecker.png"/> |
| <feDisplacementMap in="Texture" in2="Map" scale="64" |
| xChannelSelector="R" yChannelSelector="G"/> |
| </filter> |
| <filter id="SphereMapTest" filterUnits="objectBoundingBox" |
| x="0" y="0" width="1" height="1"> |
| <feImage result="Map" xlink:href="resources/sphere.png"/> |
| <feImage result="Texture" xlink:href="resources/DisplaceChecker.png"/> |
| <feDisplacementMap in="Texture" in2="Map" scale="64" |
| xChannelSelector="R" yChannelSelector="G"/> |
| </filter> |
| </defs> |
| |
| <g font-family="Arial" font-size="12" text-anchor="middle"> |
| <rect x="15" y="15" width="128" height="128" |
| filter="url(#DispMapChecker)" /> |
| <rect x="20" y="115" width="118" height="20" fill="#DDD"/> |
| <text x="79" y="130">Checkerboard Image</text> |
| |
| <rect x="158" y="15" width="128" height="128" |
| filter="url(#RotateMap)" /> |
| <rect x="163" y="112" width="118" height="30" fill="#DDD"/> |
| <text><tspan x="222" y="125">Displacement Map</tspan> |
| <tspan x="222" y="138">(20 deg. rotation)</tspan></text> |
| |
| |
| |
| <rect x="301" y="15" width="128" height="128" |
| filter="url(#RotateMapTest)" /> |
| <rect x="-1" y="-1" width="2" height="2" |
| transform="translate(365,79) rotate(20) scale(32)" |
| fill="blue" fill-opacity="0.5" /> |
| <text><tspan x="365" y="160">Result</tspan> |
| <tspan x="365" y="172">(overlayed with 20 deg.</tspan> |
| <tspan x="365" y="184">rotated blue rectangle)</tspan></text> |
| |
| |
| <rect x="15" y="158" width="128" height="128" |
| filter="url(#DispMapChecker)" /> |
| <rect x="20" y="258" width="118" height="20" fill="#DDD"/> |
| <text x="79" y="273">Checkerboard Image</text> |
| |
| |
| <rect x="158" y="158" width="128" height="128" |
| filter="url(#SphereMap)" /> |
| <rect x="163" y="255" width="118" height="30" fill="#DDD"/> |
| <text><tspan x="222" y="268">Displacement Map</tspan> |
| <tspan x="222" y="283">(spherical distortion)</tspan></text> |
| |
| |
| <rect x="301" y="200" width="128" height="128" |
| filter="url(#SphereMapTest)" /> |
| <text x="365" y="345">Result</text> |
| </g> |
| </g> |
| |
| <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.6 $</text> |
| <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/> |
| </svg> |
| |