X3D Model Documentation: TextureMapComparisonsRectangle.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <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'>
  4       <head>
  5            <meta name='titlecontent='TextureMapComparisonsRectangle.x3d'/>
  6            <meta name='descriptioncontent='Compare ImageTexture mapping for a variety of geometry nodes. This is an excellent test scene for different X3D browsers.'/>
  7            <meta name='creatorcontent='Sungmin Kwon and Don Brutzman'/>
  8            <meta name='createdcontent='15 December 2017'/>
  9            <meta name='modifiedcontent='20 October 2019'/>
 10            <meta name='referencecontent='TextureMapTesting.pdf'/>
 11            <meta name='Imagecontent='TextureMapComparisonsRectangleX_ITE.png'/>
 12            <meta name='Imagecontent='TextureMapComparisonsRectangleX3DOM.png'/>
 13            <meta name='Imagecontent='TextureMapComparisonsRectangleBSContact.png'/>
 14            <meta name='Imagecontent='TextureMapComparisonsRectangleFreeWrl.png'/>
 15            <meta name='Imagecontent='TextureMapComparisonsRectangleH3DViewer.png'/>
 16            <meta name='Imagecontent='TextureMapComparisonsRectangleInstantReality.png'/>
 17            <meta name='Imagecontent='TextureMapComparisonsRectangleXj3D.png'/>
 18            <meta name='referencecontent='TextureMapComparisonsCylinder.x3d'/>
 19            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Images'/>
 20            <meta name='specificationSectioncontent='X3D Abstract Specification, 18.2.3 Texture coordinates'/>
 21            <meta name='specificationUrlcontent='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/texturing.html#Texturecoordinates'/>
 22            <meta name='Imagecontent='https://www.web3d.org/documents/specifications/19775-1/V3.3/Images/ImageTexture.gif'/>
 23            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsRectangle.x3d'/>
 24            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 25            <meta name='licensecontent='../license.html'/>
 26       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top 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 node: DefaultPosition
-->
 27       <Scene>
 28            <WorldInfo title='TextureMapComparisonsRectangle.x3d'/>
 29            <Viewpoint DEF='DefaultPositiondescription='Texture map examples overviewposition='0 0 16'/>
 30            <!-- == === ==== 1st row -->
 31            <Transform translation='-0.5 1 0'>
 32                 <!-- IFS : Indexed Face Set -->
 33                 <Transform translation='-9.6 0 0'>
 34                      <Shape>
 35 
                         <!-- Appearance TextureAppearance is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                         <Appearance DEF='TextureAppearance'>
 36 
                              <!-- ImageTexture SpecificationTexture is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                              <ImageTexture DEF='SpecificationTexture'   url=' "ImageTextureSpecificationSquare.png " "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/ImageTextureSpecificationSquare.png " '/>
 37                           </Appearance>
 38                           <IndexedFaceSet coordIndex='0 1 2 3 -1'>
 39                                <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
 40                           </IndexedFaceSet>
 41                      </Shape>
 42                 </Transform>
 43                 <!-- ITS, TS : Triangle Set -->
 44                 <Transform translation='-8.4 0 0'>
 45                      <Shape>
 46                           <Appearance USE='TextureAppearance'/>
 47                           <IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
 48                                <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
 49                           </IndexedTriangleSet>
 50                      </Shape>
 51                 </Transform>
 52                 <Transform translation='-7.2 0 0'>
 53                      <Shape>
 54                           <Appearance USE='TextureAppearance'/>
 55                           <TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
 56                                <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'/>
 57                           </TriangleSet>
 58                      </Shape>
 59                 </Transform>
 60                 <!-- ITSS, TSS : Triangle Strip Set -->
 61                 <Transform translation='-6.0 0 0'>
 62                      <Shape>
 63                           <Appearance USE='TextureAppearance'/>
 64                           <IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
 65                                <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
 66                           </IndexedTriangleStripSet>
 67                      </Shape>
 68                 </Transform>
 69                 <Transform translation='-4.8 0 0'>
 70                      <Shape>
 71                           <Appearance USE='TextureAppearance'/>
 72                           <TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
 73                                <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'/>
 74                           </TriangleStripSet>
 75                      </Shape>
 76                 </Transform>
 77                 <!-- ITFS, TFS : Triangle Fan Set -->
 78                 <Transform translation='-3.6 0 0'>
 79                      <Shape>
 80                           <Appearance USE='TextureAppearance'/>
 81                           <IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
 82                                <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
 83                           </IndexedTriangleFanSet>
 84                      </Shape>
 85                 </Transform>
 86                 <Transform translation='-2.4 0 0'>
 87                      <Shape>
 88                           <Appearance USE='TextureAppearance'/>
 89                           <TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
 90                                <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
 91                           </TriangleFanSet>
 92                      </Shape>
 93                 </Transform>
 94                 <!-- Box -->
 95                 <Transform translation='-1.2 0 -0.5'>
 96                      <Shape>
 97                           <Appearance USE='TextureAppearance'/>
 98                           <Box size='1 1 1'/>
 99                      </Shape>
100                 </Transform>
101                 <!-- 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> -->
102                 <!-- R2D : Rectangle2D -->
103                 <Transform translation='2.4 0 0'>
104                      <Shape>
105 
                         <!-- Appearance TextureAppearance_2D is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                         <Appearance DEF='TextureAppearance_2D'>
106                                <ImageTexture USE='SpecificationTexture'/>
107                           </Appearance>
108                           <Rectangle2D size='1.0 1.0'/>
109                      </Shape>
110                 </Transform>
111                 <!-- TS2D : TriangleSet2D -->
112                 <Transform translation='3.6 0 0'>
113                      <Shape>
114                           <Appearance USE='TextureAppearance_2D'/>
115                           <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'/>
116                      </Shape>
117                 </Transform>
118                 <!-- EG : ElevationGrid -->
119                 <Transform translation='4.8 0 0'>
120                      <Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
121                           <Shape>
122                                <Appearance USE='TextureAppearance_2D'/>
123                                <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'/>
124                           </Shape>
125                      </Transform>
126                 </Transform>
127                 <!-- == === ==== 2nd row -->
128                 <Transform translation='0 -1.2 0'>
129                      <!-- IFS : Indexed Face Set -->
130                      <Transform translation='-9.6 0 0'>
131                           <Shape>
132 
                              <!-- Appearance TextureRotate is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                              <Appearance DEF='TextureRotate'>
133                                     <ImageTexture USE='SpecificationTexture'/>
134 
                                   <!-- TextureTransform TexTransRotation is a DEF node that has 1 USE node: USE_1 -->
                                   <TextureTransform DEF='TexTransRotationrotation='0.8'/>
135                                </Appearance>
136                                <IndexedFaceSet coordIndex='0 1 2 3 -1'>
137                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
138                                </IndexedFaceSet>
139                           </Shape>
140                      </Transform>
141                      <!-- ITS, TS : Triangle Set -->
142                      <Transform translation='-8.4 0 0'>
143                           <Shape>
144                                <Appearance USE='TextureRotate'/>
145                                <IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
146                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
147                                </IndexedTriangleSet>
148                           </Shape>
149                      </Transform>
150                      <Transform translation='-7.2 0 0'>
151                           <Shape>
152                                <Appearance USE='TextureRotate'/>
153                                <TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
154                                     <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'/>
155                                </TriangleSet>
156                           </Shape>
157                      </Transform>
158                      <!-- ITSS, TSS : Triangle Strip Set -->
159                      <Transform translation='-6.0 0 0'>
160                           <Shape>
161                                <Appearance USE='TextureRotate'/>
162                                <IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
163                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
164                                </IndexedTriangleStripSet>
165                           </Shape>
166                      </Transform>
167                      <Transform translation='-4.8 0 0'>
168                           <Shape>
169                                <Appearance USE='TextureRotate'/>
170                                <TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
171                                     <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'/>
172                                </TriangleStripSet>
173                           </Shape>
174                      </Transform>
175                      <!-- ITFS, TFS : Triangle Fan Set -->
176                      <Transform translation='-3.6 0 0'>
177                           <Shape>
178                                <Appearance USE='TextureRotate'/>
179                                <IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
180                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
181                                </IndexedTriangleFanSet>
182                           </Shape>
183                      </Transform>
184                      <Transform translation='-2.4 0 0'>
185                           <Shape>
186                                <Appearance USE='TextureRotate'/>
187                                <TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
188                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
189                                </TriangleFanSet>
190                           </Shape>
191                      </Transform>
192                      <!-- Box -->
193                      <Transform translation='-1.2 0 -0.5'>
194                           <Shape>
195                                <Appearance USE='TextureRotate'/>
196                                <Box size='1 1 1'/>
197                           </Shape>
198                      </Transform>
199                      <!-- IQS, QS : Quad Set -->
200                      <Transform>
201                           <!-- <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> -->
202                      </Transform>
203                      <Transform translation='1.2 0 0'>
204                           <!-- <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> -->
205                      </Transform>
206                      <!-- R2D : Rectangle2D -->
207                      <Transform translation='2.4 0 0'>
208                           <Shape>
209 
                              <!-- Appearance TextureRotate_2D is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Appearance DEF='TextureRotate_2D'>
210                                     <ImageTexture USE='SpecificationTexture'/>
211                                     <TextureTransform USE='TexTransRotation'/>
212                                </Appearance>
213                                <Rectangle2D size='1 1solid='true'/>
214                           </Shape>
215                      </Transform>
216                      <!-- TS2D : TriangleSet2D -->
217                      <Transform translation='3.6 0 0'>
218                           <Shape>
219                                <Appearance USE='TextureRotate_2D'/>
220                                <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'/>
221                           </Shape>
222                      </Transform>
223                      <!-- EG : ElevationGrid -->
224                      <Transform translation='4.8 0 0'>
225                           <Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
226                                <Shape>
227                                     <Appearance USE='TextureRotate_2D'/>
228                                     <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'/>
229                                </Shape>
230                           </Transform>
231                      </Transform>
232                 </Transform>
233                 <!-- == === ==== 3rd row -->
234                 <Transform translation='0 -2.4 0'>
235                      <!-- IFS : Indexed Face Set -->
236                      <Transform translation='-9.6 0 0'>
237                           <Shape>
238 
                              <!-- Appearance TextureTrans is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                              <Appearance DEF='TextureTrans'>
239                                     <ImageTexture USE='SpecificationTexture'/>
240 
                                   <!-- TextureTransform TexTransTranslation is a DEF node that has 1 USE node: USE_1 -->
                                   <TextureTransform DEF='TexTransTranslationrotation='0.8translation='0.2 -0.5'/>
241                                </Appearance>
242                                <IndexedFaceSet coordIndex='0 1 2 3 -1'>
243                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
244                                </IndexedFaceSet>
245                           </Shape>
246                      </Transform>
247                      <!-- ITS, TS : Triangle Set -->
248                      <Transform translation='-8.4 0 0'>
249                           <Shape>
250                                <Appearance USE='TextureTrans'/>
251                                <IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
252                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
253                                </IndexedTriangleSet>
254                           </Shape>
255                      </Transform>
256                      <Transform translation='-7.2 0 0'>
257                           <Shape>
258                                <Appearance USE='TextureTrans'/>
259                                <TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
260                                     <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'/>
261                                </TriangleSet>
262                           </Shape>
263                      </Transform>
264                      <!-- ITSS, TSS : Triangle Strip Set -->
265                      <Transform translation='-6.0 0 0'>
266                           <Shape>
267                                <Appearance USE='TextureTrans'/>
268                                <IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
269                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
270                                </IndexedTriangleStripSet>
271                           </Shape>
272                      </Transform>
273                      <Transform translation='-4.8 0 0'>
274                           <Shape>
275                                <Appearance USE='TextureTrans'/>
276                                <TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
277                                     <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'/>
278                                </TriangleStripSet>
279                           </Shape>
280                      </Transform>
281                      <!-- ITFS, TFS : Triangle Fan Set -->
282                      <Transform translation='-3.6 0 0'>
283                           <Shape>
284                                <Appearance USE='TextureTrans'/>
285                                <IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
286                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
287                                </IndexedTriangleFanSet>
288                           </Shape>
289                      </Transform>
290                      <Transform translation='-2.4 0 0'>
291                           <Shape>
292                                <Appearance USE='TextureTrans'/>
293                                <TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
294                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
295                                </TriangleFanSet>
296                           </Shape>
297                      </Transform>
298                      <!-- Box -->
299                      <Transform translation='-1.2 0 -0.5'>
300                           <Shape>
301                                <Appearance USE='TextureTrans'/>
302                                <Box size='1 1 1'/>
303                           </Shape>
304                      </Transform>
305                      <!-- IQS, QS : Quad Set -->
306                      <Transform>
307                           <!-- <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> -->
308                      </Transform>
309                      <Transform translation='1.2 0 0'>
310                           <!-- <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> -->
311                      </Transform>
312                      <!-- R2D : Rectangle2D -->
313                      <Transform translation='2.4 0 0'>
314                           <Shape>
315 
                              <!-- Appearance TextureTrans_2D is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Appearance DEF='TextureTrans_2D'>
316                                     <ImageTexture USE='SpecificationTexture'/>
317                                     <TextureTransform USE='TexTransTranslation'/>
318                                </Appearance>
319                                <Rectangle2D size='1.0 1.0'/>
320                           </Shape>
321                      </Transform>
322                      <!-- TS2D : TriangleSet2D -->
323                      <Transform translation='3.6 0 0'>
324                           <Shape>
325                                <Appearance USE='TextureTrans_2D'/>
326                                <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'/>
327                           </Shape>
328                      </Transform>
329                      <!-- EG : ElevationGrid -->
330                      <Transform translation='4.8 0 0'>
331                           <Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
332                                <Shape>
333                                     <Appearance USE='TextureTrans_2D'/>
334                                     <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'/>
335                                </Shape>
336                           </Transform>
337                      </Transform>
338                 </Transform>
339                 <!-- == === ==== 4th row -->
340                 <Transform translation='0 -3.6 0'>
341                      <!-- IFS : Indexed Face Set -->
342                      <Transform translation='-9.6 0 0'>
343                           <Shape>
344 
                              <!-- Appearance TextureScale is a DEF node that has 7 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7 -->
                              <Appearance DEF='TextureScale'>
345                                     <ImageTexture USE='SpecificationTexture'/>
346 
                                   <!-- TextureTransform TexTransScale is a DEF node that has 1 USE node: USE_1 -->
                                   <TextureTransform DEF='TexTransScalerotation='0.8scale='2 2translation='0.2 -0.5'/>
347                                </Appearance>
348                                <IndexedFaceSet coordIndex='0 1 2 3 -1'>
349                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
350                                </IndexedFaceSet>
351                           </Shape>
352                      </Transform>
353                      <!-- ITS, TS : Triangle Set -->
354                      <Transform translation='-8.4 0 0'>
355                           <Shape>
356                                <Appearance USE='TextureScale'/>
357                                <IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
358                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
359                                </IndexedTriangleSet>
360                           </Shape>
361                      </Transform>
362                      <Transform translation='-7.2 0 0'>
363                           <Shape>
364                                <Appearance USE='TextureScale'/>
365                                <TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
366                                     <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'/>
367                                </TriangleSet>
368                           </Shape>
369                      </Transform>
370                      <!-- ITSS, TSS : Triangle Strip Set -->
371                      <Transform translation='-6.0 0 0'>
372                           <Shape>
373                                <Appearance USE='TextureScale'/>
374                                <IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
375                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
376                                </IndexedTriangleStripSet>
377                           </Shape>
378                      </Transform>
379                      <Transform translation='-4.8 0 0'>
380                           <Shape>
381                                <Appearance USE='TextureScale'/>
382                                <TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
383                                     <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'/>
384                                </TriangleStripSet>
385                           </Shape>
386                      </Transform>
387                      <!-- ITFS, TFS : Triangle Fan Set -->
388                      <Transform translation='-3.6 0 0'>
389                           <Shape>
390                                <Appearance USE='TextureScale'/>
391                                <IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
392                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
393                                </IndexedTriangleFanSet>
394                           </Shape>
395                      </Transform>
396                      <Transform translation='-2.4 0 0'>
397                           <Shape>
398                                <Appearance USE='TextureScale'/>
399                                <TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
400                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
401                                </TriangleFanSet>
402                           </Shape>
403                      </Transform>
404                      <!-- Box -->
405                      <Transform translation='-1.2 0 -0.5'>
406                           <Shape>
407                                <Appearance USE='TextureScale'/>
408                                <Box size='1 1 1'/>
409                           </Shape>
410                      </Transform>
411                      <!-- IQS, QS : Quad Set -->
412                      <Transform>
413                           <!-- <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> -->
414                      </Transform>
415                      <Transform translation='1.2 0 0'>
416                           <!-- <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> -->
417                      </Transform>
418                      <!-- R2D : Rectangle2D -->
419                      <Transform translation='2.4 0 0'>
420                           <Shape>
421 
                              <!-- Appearance TextureScale_2D is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Appearance DEF='TextureScale_2D'>
422                                     <ImageTexture USE='SpecificationTexture'/>
423                                     <TextureTransform USE='TexTransScale'/>
424                                </Appearance>
425                                <Rectangle2D size='1.0 1.0'/>
426                           </Shape>
427                      </Transform>
428                      <!-- TS2D : TriangleSet2D -->
429                      <Transform translation='3.6 0 0'>
430                           <Shape>
431                                <Appearance USE='TextureScale_2D'/>
432                                <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'/>
433                           </Shape>
434                      </Transform>
435                      <!-- EG : ElevationGrid -->
436                      <Transform translation='4.8 0 0'>
437                           <Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
438                                <Shape>
439                                     <Appearance USE='TextureScale_2D'/>
440                                     <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'/>
441                                </Shape>
442                           </Transform>
443                      </Transform>
444                 </Transform>
445                 <!-- == === ==== 5th row -->
446                 <Transform translation='0 -4.8 0'>
447                      <!-- IFS : Indexed Face Set -->
448                      <Transform translation='-9.6 0 0'>
449                           <Shape>
450 
                              <!-- Appearance AppearanceNoTexture is a DEF node that has 11 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11 -->
                              <Appearance DEF='AppearanceNoTexture'>
451                                     <Material diffuseColor='0.6 1 1'/>
452                                </Appearance>
453                                <IndexedFaceSet coordIndex='0 1 2 3 -1'>
454                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
455                                </IndexedFaceSet>
456                           </Shape>
457                      </Transform>
458                      <!-- ITS, TS : Triangle Set -->
459                      <Transform translation='-8.4 0 0'>
460                           <Shape>
461                                <Appearance USE='AppearanceNoTexture'/>
462                                <IndexedTriangleSet ccw='truecolorPerVertex='trueindex='0 1 2 0 2 3normalPerVertex='truesolid='truecontainerField='geometry'>
463                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
464                                </IndexedTriangleSet>
465                           </Shape>
466                      </Transform>
467                      <Transform translation='-7.2 0 0'>
468                           <Shape>
469                                <Appearance USE='AppearanceNoTexture'/>
470                                <TriangleSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truecontainerField='geometry'>
471                                     <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'/>
472                                </TriangleSet>
473                           </Shape>
474                      </Transform>
475                      <!-- ITSS, TSS : Triangle Strip Set -->
476                      <Transform translation='-6.0 0 0'>
477                           <Shape>
478                                <Appearance USE='AppearanceNoTexture'/>
479                                <IndexedTriangleStripSet ccw='truecolorPerVertex='trueindex='0 1 2 3 0 -1normalPerVertex='truesolid='truecontainerField='geometry'>
480                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
481                                </IndexedTriangleStripSet>
482                           </Shape>
483                      </Transform>
484                      <Transform translation='-4.8 0 0'>
485                           <Shape>
486                                <Appearance USE='AppearanceNoTexture'/>
487                                <TriangleStripSet ccw='truecolorPerVertex='truenormalPerVertex='truesolid='truestripCount='5containerField='geometry'>
488                                     <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'/>
489                                </TriangleStripSet>
490                           </Shape>
491                      </Transform>
492                      <!-- ITFS, TFS : Triangle Fan Set -->
493                      <Transform translation='-3.6 0 0'>
494                           <Shape>
495                                <Appearance USE='AppearanceNoTexture'/>
496                                <IndexedTriangleFanSet ccw='truecolorPerVertex='trueindex='0 1 2 3 -1normalPerVertex='truesolid='truecontainerField='geometry'>
497                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
498                                </IndexedTriangleFanSet>
499                           </Shape>
500                      </Transform>
501                      <Transform translation='-2.4 0 0'>
502                           <Shape>
503                                <Appearance USE='AppearanceNoTexture'/>
504                                <TriangleFanSet ccw='truecolorPerVertex='truefanCount='4normalPerVertex='truesolid='truecontainerField='geometry'>
505                                     <Coordinate point='-0.5 0.5 0 -0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 0'/>
506                                </TriangleFanSet>
507                           </Shape>
508                      </Transform>
509                      <!-- Box -->
510                      <Transform translation='-1.2 0 -0.5'>
511                           <Shape>
512                                <Appearance USE='AppearanceNoTexture'/>
513                                <Box size='1 1 1'/>
514                           </Shape>
515                      </Transform>
516                      <!-- IQS, QS : Quad Set -->
517                      <Transform>
518                           <!-- <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> -->
519                      </Transform>
520                      <Transform translation='1.2 0 0'>
521                           <!-- <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> -->
522                      </Transform>
523                      <!-- R2D : Rectangle2D -->
524                      <Transform translation='2.4 0 0'>
525                           <Shape>
526                                <Appearance USE='AppearanceNoTexture'/>
527                                <Rectangle2D size='1.0 1.0'/>
528                           </Shape>
529                      </Transform>
530                      <!-- TS2D : TriangleSet2D -->
531                      <Transform translation='3.6 0 0'>
532                           <Shape>
533                                <Appearance USE='AppearanceNoTexture'/>
534                                <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'/>
535                           </Shape>
536                      </Transform>
537                      <!-- EG : ElevationGrid -->
538                      <Transform translation='4.8 0 0'>
539                           <Transform rotation='1 0 0 -1.5708translation='-0.5 -0.5 0.2'>
540                                <Shape>
541                                     <Appearance USE='AppearanceNoTexture'/>
542                                     <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'/>
543                                </Shape>
544                           </Transform>
545                      </Transform>
546                 </Transform>
547                 <!-- == === ==== Text -->
548                 <!-- Title -->
549                 <Transform translation='0 3.5 0'>
550                      <Shape>
551                           <Text DEF='Titlestring='"Texture Map Comparisons for Rectangles!"'>
552                                <FontStyle justify='"MIDDLE" "FIRST"'/>
553                           </Text>
554                           <Appearance DEF='DefaultAppearance'>
555                                <Material DEF='DefaultMaterial'/>
556                           </Appearance>
557                      </Shape>
558                 </Transform>
559                 <!-- X axis : Geometry Index -->
560                 <Transform translation='0 1.2 0'>
561                      <!-- IFS : Indexed Face Set -->
562                      <Transform translation='-9.6 0 0'>
563                           <Shape>
564                                <Text string='"IFS"'>
565 
                                   <!-- FontStyle CenterFontStyle is a DEF node that has 12 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12 -->
                                   <FontStyle DEF='CenterFontStylejustify='"MIDDLE" "MIDDLE"size='0.5style='BOLD'/>
566                                </Text>
567                                <!-- Omitting Appearance can sometimes reveal rendering errors! -->
568                                <!-- TODO where is governing specification paragraph? Not found in 12.2 Concepts https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shape.html#Concepts -->
569                           </Shape>
570                      </Transform>
571                      <!-- ITS, TS : Triangle Set -->
572                      <Transform translation='-8.4 0 0'>
573                           <Shape>
574                                <Text string='"ITS"'>
575                                     <FontStyle USE='CenterFontStyle'/>
576                                </Text>
577                           </Shape>
578                      </Transform>
579                      <Transform translation='-7.2 0 0'>
580                           <Shape>
581                                <Text string='"TS"'>
582                                     <FontStyle USE='CenterFontStyle'/>
583                                </Text>
584                           </Shape>
585                      </Transform>
586                      <!-- ITSS, TSS : Triangle Strip Set -->
587                      <Transform translation='-6.0 0 0'>
588                           <Shape>
589                                <Text string='"ITSS"'>
590                                     <FontStyle USE='CenterFontStyle'/>
591                                </Text>
592                           </Shape>
593                      </Transform>
594                      <Transform translation='-4.8 0 0'>
595                           <Shape>
596                                <Text string='"TSS"'>
597                                     <FontStyle USE='CenterFontStyle'/>
598                                </Text>
599                           </Shape>
600                      </Transform>
601                      <!-- ITFS, TFS : Triangle Fan Set -->
602                      <Transform translation='-3.6 0 0'>
603                           <Shape>
604                                <Text string='"ITFS"'>
605                                     <FontStyle USE='CenterFontStyle'/>
606                                </Text>
607                           </Shape>
608                      </Transform>
609                      <Transform translation='-2.4 0 0'>
610                           <Shape>
611                                <Text string='"TFS"'>
612                                     <FontStyle USE='CenterFontStyle'/>
613                                </Text>
614                           </Shape>
615                      </Transform>
616                      <!-- Box -->
617                      <Transform translation='-1.2 0 0'>
618                           <Shape>
619                                <Text string='"BOX"'>
620                                     <FontStyle USE='CenterFontStyle'/>
621                                </Text>
622                           </Shape>
623                      </Transform>
624                      <!-- IQS, QS : Quad Set -->
625                      <Transform>
626                           <Shape>
627                                <Text string='"IQS"'>
628                                     <FontStyle USE='CenterFontStyle'/>
629                                </Text>
630                           </Shape>
631                      </Transform>
632                      <Transform translation='1.2 0 0'>
633                           <Shape>
634                                <Text string='"QS"'>
635                                     <FontStyle USE='CenterFontStyle'/>
636                                </Text>
637                           </Shape>
638                      </Transform>
639                      <!-- R2D : Rectangle2D -->
640                      <Transform translation='2.4 0 0'>
641                           <Shape>
642                                <Text string='"R2D"'>
643                                     <FontStyle USE='CenterFontStyle'/>
644                                </Text>
645                           </Shape>
646                      </Transform>
647                      <!-- TS2D : TriangleSet2D -->
648                      <Transform translation='3.6 0 0'>
649                           <Shape>
650                                <Text string='"TS2D"'>
651                                     <FontStyle USE='CenterFontStyle'/>
652                                </Text>
653                           </Shape>
654                           <TouchSensor description='TriangleSet2D'/>
655 
                         <!-- Shape TransparentTextSelection is a DEF node that has 1 USE node: USE_1 -->
                         <Shape DEF='TransparentTextSelection'>
656                                <Box size='1.1 .4 .001'/>
657                                <Appearance>
658                                     <Material transparency='1'/>
659                                </Appearance>
660                           </Shape>
661                      </Transform>
662                      <!-- EG : ElevationGrid -->
663                      <Transform translation='4.8 0 0'>
664                           <Shape>
665                                <Text string='"EG"'>
666                                     <FontStyle USE='CenterFontStyle'/>
667                                </Text>
668                           </Shape>
669                           <TouchSensor description='ElevationGrid'/>
670                           <Shape USE='TransparentTextSelection'/>
671                      </Transform>
672                 </Transform>
673                 <!-- Y axis : Texture Description -->
674                 <Transform translation='5.6 0.5 0'>
675                      <Transform>
676                           <Shape>
677                                <Text string='"Default Texture"'>
678 
                                   <!-- FontStyle LeftFontStyle is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
                                   <FontStyle DEF='LeftFontStylejustify='"BEGIN" "BEGIN"size='0.5'/>
679                                </Text>
680                           </Shape>
681                      </Transform>
682                      <Transform translation='0 -1.2 0'>
683                           <Shape>
684                                <Text string='"Rotate Texture"'>
685                                     <FontStyle USE='LeftFontStyle'/>
686                                </Text>
687                           </Shape>
688                      </Transform>
689                      <Transform translation='0 -2.4 0'>
690                           <Shape>
691                                <Text string='"Rotate, Translate Texture"'>
692                                     <FontStyle USE='LeftFontStyle'/>
693                                </Text>
694                           </Shape>
695                      </Transform>
696                      <Transform translation='0 -3.6 0'>
697                           <Shape>
698                                <Text string='"Rotate, Translate, Scale"'>
699                                     <FontStyle USE='LeftFontStyle'/>
700                                </Text>
701                           </Shape>
702                      </Transform>
703                      <Transform translation='0 -4.8 0'>
704                           <Shape>
705                                <Text string='"No Texture"'>
706                                     <FontStyle USE='LeftFontStyle'/>
707                                </Text>
708                                <Appearance USE='AppearanceNoTexture'/>
709                           </Shape>
710                      </Transform>
711                 </Transform>
712            </Transform>
713       </Scene>
714  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top 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 node: DefaultPosition
-->
X3D Tooltips element index: Appearance, Box, Coordinate, ElevationGrid, FontStyle, head, ImageTexture, IndexedFaceSet, IndexedTriangleFanSet, IndexedTriangleSet, IndexedTriangleStripSet, Material, meta, Rectangle2D, Scene, Shape, Text, TextureTransform, TouchSensor, Transform, TriangleFanSet, TriangleSet, TriangleSet2D, TriangleStripSet, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

Event Graph ROUTE Table with 0 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.


TouchSensor
description='TriangleSet2D' 
User-interaction hint for this node.(TouchSensor description is providing a tooltip)  


TouchSensor
description='ElevationGrid' 
User-interaction hint for this node.(TouchSensor description is providing a tooltip)  
Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsRectangleIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsRectangle.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

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