<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.3.xsd '>
<head>
<meta name='titlecontent='TextureMapComparisonsRectangle.x3d'/>
<meta name='descriptioncontent='Compare ImageTexture mapping for a variety of geometry nodes. This is an excellent test scene for different X3D browsers.'/>
<meta name='creatorcontent='Sungmin Kwon and Don Brutzman'/>
<meta name='createdcontent='15 December 2017'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='referencecontent='TextureMapTesting.pdf'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleX_ITE.png'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleX3DOM.png'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleBSContact.png'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleFreeWrl.png'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleH3DViewer.png'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleInstantReality.png'/>
<meta name='Imagecontent='TextureMapComparisonsRectangleXj3D.png'/>
<meta name='referencecontent='TextureMapComparisonsCylinder.x3d'/>
<meta name='referencecontent=' https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Images '/>
<meta name='specificationSectioncontent='X3D Abstract Specification, 18.2.3 Texture coordinates'/>
<meta name='specificationUrlcontent=' https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/texturing.html#Texturecoordinates '/>
<meta name='Imagecontent=' https://www.web3d.org/documents/specifications/19775-1/V3.3/Images/ImageTexture.gif '/>
<meta name='identifiercontent=' https://x3dgraphics.com/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsRectangle.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='TextureMapComparisonsRectangle.x3d'/>
<Viewpoint DEF='DefaultPositiondescription='Texture map examples overviewposition='0 0 16'/>
<!-- == === ==== 1st row -->
<Transform translation='-0.5 1 0'>
<!-- IFS : Indexed Face Set -->
<Transform translation='-9.6 0 0'>
<Shape>
<Appearance DEF='TextureAppearance'> </Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 -1'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<!-- ITS, TS : Triangle Set -->
<Transform translation='-8.4 0 0'>
<Shape>
<Appearance USE='TextureAppearance'/>
<IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleSet>
</Shape>
</Transform>
<Transform translation='-7.2 0 0'>
<Shape>
<Appearance USE='TextureAppearance'/>
<TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleSet>
</Shape>
</Transform>
<!-- ITSS, TSS : Triangle Strip Set -->
<Transform translation='-6.0 0 0'>
<Shape>
<Appearance USE='TextureAppearance'/>
<IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleStripSet>
</Shape>
</Transform>
<Transform translation='-4.8 0 0'>
<Shape>
<Appearance USE='TextureAppearance'/>
<TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleStripSet>
</Shape>
</Transform>
<!-- ITFS, TFS : Triangle Fan Set -->
<Transform translation='-3.6 0 0'>
<Shape>
<Appearance USE='TextureAppearance'/>
<IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleFanSet>
</Shape>
</Transform>
<Transform translation='-2.4 0 0'>
<Shape>
<Appearance USE='TextureAppearance'/>
<TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</TriangleFanSet>
</Shape>
</Transform>
<!-- Box -->
<Transform translation='-1.2 0 -0.5'>
<Shape>
<Appearance USE='TextureAppearance'/>
<Box size='1 1 1'/>
</Shape>
</Transform>
<!-- IQS, QS : Quad Set <Transform translation='0 0 0'> <Shape> <Appearance USE='TextureAppearance'/> <IndexedQuadSet index='0 1 2 3'> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </IndexedQuadSet> </Shape> </Transform> <Transform translation='1.2 0 0'> <Shape> <Appearance USE='TextureAppearance'/> <QuadSet> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </QuadSet> </Shape> </Transform> -->
<!-- R2D : Rectangle2D -->
<Transform translation='2.4 0 0'>
<Shape>
<Appearance DEF='TextureAppearance_2D'>
<ImageTexture USE='SpecificationTexture'/>
</Appearance>
<Rectangle2D size='1.0 1.0'/>
</Shape>
</Transform>
<!-- TS2D : TriangleSet2D -->
<Transform translation='3.6 0 0'>
<Shape>
<Appearance USE='TextureAppearance_2D'/>
<TriangleSet2D vertices='-0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5'/>
</Shape>
</Transform>
<!-- EG : ElevationGrid -->
<Transform translation='4.8 0 0'>
<Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
<Shape>
<Appearance USE='TextureAppearance_2D'/>
<ElevationGrid solid='falsexDimension='6xSpacing='0.2zDimension='6zSpacing='0.2height='0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2'/>
</Shape>
</Transform>
</Transform>
<!-- == === ==== 2nd row -->
<Transform translation='0 -1.2 0'>
<!-- IFS : Indexed Face Set -->
<Transform translation='-9.6 0 0'>
<Shape>
<Appearance DEF='TextureRotate'>
<ImageTexture USE='SpecificationTexture'/>
<TextureTransform DEF='TexTransRotationrotation='0.8'/>
</Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 -1'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<!-- ITS, TS : Triangle Set -->
<Transform translation='-8.4 0 0'>
<Shape>
<Appearance USE='TextureRotate'/>
<IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleSet>
</Shape>
</Transform>
<Transform translation='-7.2 0 0'>
<Shape>
<Appearance USE='TextureRotate'/>
<TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleSet>
</Shape>
</Transform>
<!-- ITSS, TSS : Triangle Strip Set -->
<Transform translation='-6.0 0 0'>
<Shape>
<Appearance USE='TextureRotate'/>
<IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleStripSet>
</Shape>
</Transform>
<Transform translation='-4.8 0 0'>
<Shape>
<Appearance USE='TextureRotate'/>
<TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleStripSet>
</Shape>
</Transform>
<!-- ITFS, TFS : Triangle Fan Set -->
<Transform translation='-3.6 0 0'>
<Shape>
<Appearance USE='TextureRotate'/>
<IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleFanSet>
</Shape>
</Transform>
<Transform translation='-2.4 0 0'>
<Shape>
<Appearance USE='TextureRotate'/>
<TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</TriangleFanSet>
</Shape>
</Transform>
<!-- Box -->
<Transform translation='-1.2 0 -0.5'>
<Shape>
<Appearance USE='TextureRotate'/>
<Box size='1 1 1'/>
</Shape>
</Transform>
<!-- IQS, QS : Quad Set -->
<Transform>
<!-- <Shape> <Appearance USE='TextureRotate'/> <IndexedQuadSet index='0 1 2 3'> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </IndexedQuadSet> </Shape> -->
</Transform>
<Transform translation='1.2 0 0'>
<!-- <Shape> <Appearance USE='TextureRotate'/> <QuadSet> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </QuadSet> </Shape> -->
</Transform>
<!-- R2D : Rectangle2D -->
<Transform translation='2.4 0 0'>
<Shape>
<Appearance DEF='TextureRotate_2D'>
<ImageTexture USE='SpecificationTexture'/>
<TextureTransform USE='TexTransRotation'/>
</Appearance>
<Rectangle2D size='1 1solid='true'/>
</Shape>
</Transform>
<!-- TS2D : TriangleSet2D -->
<Transform translation='3.6 0 0'>
<Shape>
<Appearance USE='TextureRotate_2D'/>
<TriangleSet2D vertices='-0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5'/>
</Shape>
</Transform>
<!-- EG : ElevationGrid -->
<Transform translation='4.8 0 0'>
<Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
<Shape>
<Appearance USE='TextureRotate_2D'/>
<ElevationGrid solid='falsexDimension='6xSpacing='0.2zDimension='6zSpacing='0.2height='0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2'/>
</Shape>
</Transform>
</Transform>
</Transform>
<!-- == === ==== 3rd row -->
<Transform translation='0 -2.4 0'>
<!-- IFS : Indexed Face Set -->
<Transform translation='-9.6 0 0'>
<Shape>
<Appearance DEF='TextureTrans'>
<ImageTexture USE='SpecificationTexture'/>
<TextureTransform DEF='TexTransTranslationrotation='0.8translation='0.2 -0.5'/>
</Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 -1'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<!-- ITS, TS : Triangle Set -->
<Transform translation='-8.4 0 0'>
<Shape>
<Appearance USE='TextureTrans'/>
<IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleSet>
</Shape>
</Transform>
<Transform translation='-7.2 0 0'>
<Shape>
<Appearance USE='TextureTrans'/>
<TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleSet>
</Shape>
</Transform>
<!-- ITSS, TSS : Triangle Strip Set -->
<Transform translation='-6.0 0 0'>
<Shape>
<Appearance USE='TextureTrans'/>
<IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleStripSet>
</Shape>
</Transform>
<Transform translation='-4.8 0 0'>
<Shape>
<Appearance USE='TextureTrans'/>
<TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleStripSet>
</Shape>
</Transform>
<!-- ITFS, TFS : Triangle Fan Set -->
<Transform translation='-3.6 0 0'>
<Shape>
<Appearance USE='TextureTrans'/>
<IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleFanSet>
</Shape>
</Transform>
<Transform translation='-2.4 0 0'>
<Shape>
<Appearance USE='TextureTrans'/>
<TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</TriangleFanSet>
</Shape>
</Transform>
<!-- Box -->
<Transform translation='-1.2 0 -0.5'>
<Shape>
<Appearance USE='TextureTrans'/>
<Box size='1 1 1'/>
</Shape>
</Transform>
<!-- IQS, QS : Quad Set -->
<Transform>
<!-- <Shape> <Appearance USE='TextureTrans'/> <IndexedQuadSet index='0 1 2 3'> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </IndexedQuadSet> </Shape> -->
</Transform>
<Transform translation='1.2 0 0'>
<!-- <Shape> <Appearance USE='TextureTrans'/> <QuadSet> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </QuadSet> </Shape> -->
</Transform>
<!-- R2D : Rectangle2D -->
<Transform translation='2.4 0 0'>
<Shape>
<Appearance DEF='TextureTrans_2D'>
<ImageTexture USE='SpecificationTexture'/>
<TextureTransform USE='TexTransTranslation'/>
</Appearance>
<Rectangle2D size='1.0 1.0'/>
</Shape>
</Transform>
<!-- TS2D : TriangleSet2D -->
<Transform translation='3.6 0 0'>
<Shape>
<Appearance USE='TextureTrans_2D'/>
<TriangleSet2D vertices='-0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5'/>
</Shape>
</Transform>
<!-- EG : ElevationGrid -->
<Transform translation='4.8 0 0'>
<Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
<Shape>
<Appearance USE='TextureTrans_2D'/>
<ElevationGrid solid='falsexDimension='6xSpacing='0.2zDimension='6zSpacing='0.2height='0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2'/>
</Shape>
</Transform>
</Transform>
</Transform>
<!-- == === ==== 4th row -->
<Transform translation='0 -3.6 0'>
<!-- IFS : Indexed Face Set -->
<Transform translation='-9.6 0 0'>
<Shape>
<Appearance DEF='TextureScale'>
<ImageTexture USE='SpecificationTexture'/>
<TextureTransform DEF='TexTransScalerotation='0.8scale='2 2translation='0.2 -0.5'/>
</Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 -1'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<!-- ITS, TS : Triangle Set -->
<Transform translation='-8.4 0 0'>
<Shape>
<Appearance USE='TextureScale'/>
<IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleSet>
</Shape>
</Transform>
<Transform translation='-7.2 0 0'>
<Shape>
<Appearance USE='TextureScale'/>
<TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleSet>
</Shape>
</Transform>
<!-- ITSS, TSS : Triangle Strip Set -->
<Transform translation='-6.0 0 0'>
<Shape>
<Appearance USE='TextureScale'/>
<IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleStripSet>
</Shape>
</Transform>
<Transform translation='-4.8 0 0'>
<Shape>
<Appearance USE='TextureScale'/>
<TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleStripSet>
</Shape>
</Transform>
<!-- ITFS, TFS : Triangle Fan Set -->
<Transform translation='-3.6 0 0'>
<Shape>
<Appearance USE='TextureScale'/>
<IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleFanSet>
</Shape>
</Transform>
<Transform translation='-2.4 0 0'>
<Shape>
<Appearance USE='TextureScale'/>
<TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</TriangleFanSet>
</Shape>
</Transform>
<!-- Box -->
<Transform translation='-1.2 0 -0.5'>
<Shape>
<Appearance USE='TextureScale'/>
<Box size='1 1 1'/>
</Shape>
</Transform>
<!-- IQS, QS : Quad Set -->
<Transform>
<!-- <Shape> <Appearance USE='TextureScale'/> <IndexedQuadSet index='0 1 2 3'> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </IndexedQuadSet> </Shape> -->
</Transform>
<Transform translation='1.2 0 0'>
<!-- <Shape> <Appearance USE='TextureScale'/> <QuadSet> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </QuadSet> </Shape> -->
</Transform>
<!-- R2D : Rectangle2D -->
<Transform translation='2.4 0 0'>
<Shape>
<Appearance DEF='TextureScale_2D'>
<ImageTexture USE='SpecificationTexture'/>
<TextureTransform USE='TexTransScale'/>
</Appearance>
<Rectangle2D size='1.0 1.0'/>
</Shape>
</Transform>
<!-- TS2D : TriangleSet2D -->
<Transform translation='3.6 0 0'>
<Shape>
<Appearance USE='TextureScale_2D'/>
<TriangleSet2D vertices='-0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5'/>
</Shape>
</Transform>
<!-- EG : ElevationGrid -->
<Transform translation='4.8 0 0'>
<Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
<Shape>
<Appearance USE='TextureScale_2D'/>
<ElevationGrid solid='falsexDimension='6xSpacing='0.2zDimension='6zSpacing='0.2height='0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2'/>
</Shape>
</Transform>
</Transform>
</Transform>
<!-- == === ==== 5th row -->
<Transform translation='0 -4.8 0'>
<!-- IFS : Indexed Face Set -->
<Transform translation='-9.6 0 0'>
<Shape>
<Appearance DEF='AppearanceNoTexture'>
<Material diffuseColor='0.6 1 1'/>
</Appearance>
<IndexedFaceSet coordIndex='0 1 2 3 -1'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedFaceSet>
</Shape>
</Transform>
<!-- ITS, TS : Triangle Set -->
<Transform translation='-8.4 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleSet>
</Shape>
</Transform>
<Transform translation='-7.2 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleSet>
</Shape>
</Transform>
<!-- ITSS, TSS : Triangle Strip Set -->
<Transform translation='-6.0 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleStripSet>
</Shape>
</Transform>
<Transform translation='-4.8 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0 -0.5 0.5 0'/>
</TriangleStripSet>
</Shape>
</Transform>
<!-- ITFS, TFS : Triangle Fan Set -->
<Transform translation='-3.6 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</IndexedTriangleFanSet>
</Shape>
</Transform>
<Transform translation='-2.4 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
<Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
</TriangleFanSet>
</Shape>
</Transform>
<!-- Box -->
<Transform translation='-1.2 0 -0.5'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<Box size='1 1 1'/>
</Shape>
</Transform>
<!-- IQS, QS : Quad Set -->
<Transform>
<!-- <Shape> <Appearance USE='AppearanceNoTexture'/> <IndexedQuadSet index='0 1 2 3'> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </IndexedQuadSet> </Shape> -->
</Transform>
<Transform translation='1.2 0 0'>
<!-- <Shape> <Appearance USE='AppearanceNoTexture'/> <QuadSet> <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/> </QuadSet> </Shape> -->
</Transform>
<!-- R2D : Rectangle2D -->
<Transform translation='2.4 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<Rectangle2D size='1.0 1.0'/>
</Shape>
</Transform>
<!-- TS2D : TriangleSet2D -->
<Transform translation='3.6 0 0'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<TriangleSet2D vertices='-0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5'/>
</Shape>
</Transform>
<!-- EG : ElevationGrid -->
<Transform translation='4.8 0 0'>
<Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
<Shape>
<Appearance USE='AppearanceNoTexture'/>
<ElevationGrid solid='falsexDimension='6xSpacing='0.2zDimension='6zSpacing='0.2height='0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2'/>
</Shape>
</Transform>
</Transform>
</Transform>
<!-- == === ==== Text -->
<!-- Title -->
<Transform translation='0 3.5 0'>
<Shape>
<Text DEF='Titlestring='"Texture Map Comparisons for Rectangles!"'>
<FontStyle justify='"MIDDLE" "FIRST"'/>
</Text>
<Appearance DEF='DefaultAppearance'>
<Material DEF='DefaultMaterial'/>
</Appearance>
</Shape>
</Transform>
<!-- X axis : Geometry Index -->
<Transform translation='0 1.2 0'>
<!-- IFS : Indexed Face Set -->
<Transform translation='-9.6 0 0'>
<Shape>
<Text string='"IFS"'>
<FontStyle DEF='CenterFontStylejustify='"MIDDLE" "MIDDLE"size='0.5style='BOLD'/>
</Text>
<!-- Omitting Appearance can sometimes reveal rendering errors! -->
<!-- TODO where is governing specification paragraph? Not found in 12.2 Concepts https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/shape.html#Concepts -->
</Shape>
</Transform>
<!-- ITS, TS : Triangle Set -->
<Transform translation='-8.4 0 0'>
<Shape>
<Text string='"ITS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='-7.2 0 0'>
<Shape>
<Text string='"TS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<!-- ITSS, TSS : Triangle Strip Set -->
<Transform translation='-6.0 0 0'>
<Shape>
<Text string='"ITSS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='-4.8 0 0'>
<Shape>
<Text string='"TSS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<!-- ITFS, TFS : Triangle Fan Set -->
<Transform translation='-3.6 0 0'>
<Shape>
<Text string='"ITFS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='-2.4 0 0'>
<Shape>
<Text string='"TFS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<!-- Box -->
<Transform translation='-1.2 0 0'>
<Shape>
<Text string='"BOX"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<!-- IQS, QS : Quad Set -->
<Transform>
<Shape>
<Text string='"IQS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='1.2 0 0'>
<Shape>
<Text string='"QS"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<!-- R2D : Rectangle2D -->
<Transform translation='2.4 0 0'>
<Shape>
<Text string='"R2D"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
</Transform>
<!-- TS2D : TriangleSet2D -->
<Transform translation='3.6 0 0'>
<Shape>
<Text string='"TS2D"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
<TouchSensor description='TriangleSet2D'/>
<Shape DEF='TransparentTextSelection'>
<Box size='1.1 .4 .001'/>
<Appearance>
<Material transparency='1'/>
</Appearance>
</Shape>
</Transform>
<!-- EG : ElevationGrid -->
<Transform translation='4.8 0 0'>
<Shape>
<Text string='"EG"'>
<FontStyle USE='CenterFontStyle'/>
</Text>
</Shape>
<TouchSensor description='ElevationGrid'/>
<Shape USE='TransparentTextSelection'/>
</Transform>
</Transform>
<!-- Y axis : Texture Description -->
<Transform translation='5.6 0.5 0'>
<Transform>
<Shape>
<Text string='"Default Texture"'>
<FontStyle DEF='LeftFontStylejustify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
<Transform translation='0 -1.2 0'>
<Shape>
<Text string='"Rotate Texture"'>
<FontStyle USE='LeftFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='0 -2.4 0'>
<Shape>
<Text string='"Rotate, Translate Texture"'>
<FontStyle USE='LeftFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='0 -3.6 0'>
<Shape>
<Text string='"Rotate, Translate, Scale"'>
<FontStyle USE='LeftFontStyle'/>
</Text>
</Shape>
</Transform>
<Transform translation='0 -4.8 0'>
<Shape>
<Text string='"No Texture"'>
<FontStyle USE='LeftFontStyle'/>
</Text>
<Appearance USE='AppearanceNoTexture'/>
</Shape>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--

Index for DEF nodes : AppearanceNoTexture, CenterFontStyle, DefaultAppearance, DefaultMaterial, DefaultPosition, LeftFontStyle, SpecificationTexture, TexTransRotation, TexTransScale, TexTransTranslation, TextureAppearance, TextureAppearance_2D, TextureRotate, TextureRotate_2D, TextureScale, TextureScale_2D, TextureTrans, TextureTrans_2D, Title, TransparentTextSelection

Index for Viewpoint image : DefaultPosition
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D Extensibility)
-->

<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources and X3D Scene Authoring Hints. -->