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='title' content='TextureMapComparisonsRectangle.x3d'/> |
6 | <meta name='description' content='Compare ImageTexture mapping for a variety of geometry nodes. This is an excellent test scene for different X3D browsers.'/> |
7 | <meta name='creator' content='Sungmin Kwon and Don Brutzman'/> |
8 | <meta name='created' content='15 December 2017'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='reference' content='TextureMapTesting.pdf'/> |
11 | <meta name='Image' content='TextureMapComparisonsRectangleX_ITE.png'/> |
12 | <meta name='Image' content='TextureMapComparisonsRectangleX3DOM.png'/> |
13 | <meta name='Image' content='TextureMapComparisonsRectangleBSContact.png'/> |
14 | <meta name='Image' content='TextureMapComparisonsRectangleFreeWrl.png'/> |
15 | <meta name='Image' content='TextureMapComparisonsRectangleH3DViewer.png'/> |
16 | <meta name='Image' content='TextureMapComparisonsRectangleInstantReality.png'/> |
17 | <meta name='Image' content='TextureMapComparisonsRectangleXj3D.png'/> |
18 | <meta name='reference' content='TextureMapComparisonsCylinder.x3d'/> |
19 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Images'/> |
20 | <meta name='specificationSection' content='X3D Abstract Specification, 18.2.3 Texture coordinates'/> |
21 | <meta name='specificationUrl' content='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/texturing.html#Texturecoordinates'/> |
22 | <meta name='Image' content='https://www.web3d.org/documents/specifications/19775-1/V3.3/Images/ImageTexture.gif'/> |
23 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsRectangle.x3d'/> |
24 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
25 | <meta name='license' content='../license.html'/> |
26 | </head> |
27 | <Scene> |
28 | <WorldInfo title='TextureMapComparisonsRectangle.x3d'/> |
29 | <Viewpoint DEF='DefaultPosition' description='Texture map examples overview' position='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 | |
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='true' colorPerVertex='true' index='0 1 2 0 2 3' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' index='0 1 2 3 0 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' stripCount='5' containerField='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='true' colorPerVertex='true' index='0 1 2 3 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' fanCount='4' normalPerVertex='true' solid='true' containerField='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.5708' translation='-0.5 -0.5 0.2'> |
121 | <Shape> |
122 | <Appearance USE='TextureAppearance_2D'/> |
123 | <ElevationGrid solid='false' xDimension='6' xSpacing='0.2' zDimension='6' zSpacing='0.2' height='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 | |
133 | <ImageTexture USE='SpecificationTexture'/> |
134 |
<!-- TextureTransform
TexTransRotation is a DEF node that has 1 USE node: USE_1 --> <TextureTransform DEF='TexTransRotation' rotation='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='true' colorPerVertex='true' index='0 1 2 0 2 3' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' index='0 1 2 3 0 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' stripCount='5' containerField='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='true' colorPerVertex='true' index='0 1 2 3 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' fanCount='4' normalPerVertex='true' solid='true' containerField='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 1' solid='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.5708' translation='-0.5 -0.5 0.2'> |
226 | <Shape> |
227 | <Appearance USE='TextureRotate_2D'/> |
228 | <ElevationGrid solid='false' xDimension='6' xSpacing='0.2' zDimension='6' zSpacing='0.2' height='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 | |
239 | <ImageTexture USE='SpecificationTexture'/> |
240 |
<!-- TextureTransform
TexTransTranslation is a DEF node that has 1 USE node: USE_1 --> <TextureTransform DEF='TexTransTranslation' rotation='0.8' translation='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='true' colorPerVertex='true' index='0 1 2 0 2 3' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' index='0 1 2 3 0 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' stripCount='5' containerField='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='true' colorPerVertex='true' index='0 1 2 3 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' fanCount='4' normalPerVertex='true' solid='true' containerField='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.5708' translation='-0.5 -0.5 0.2'> |
332 | <Shape> |
333 | <Appearance USE='TextureTrans_2D'/> |
334 | <ElevationGrid solid='false' xDimension='6' xSpacing='0.2' zDimension='6' zSpacing='0.2' height='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 | |
345 | <ImageTexture USE='SpecificationTexture'/> |
346 |
<!-- TextureTransform
TexTransScale is a DEF node that has 1 USE node: USE_1 --> <TextureTransform DEF='TexTransScale' rotation='0.8' scale='2 2' translation='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='true' colorPerVertex='true' index='0 1 2 0 2 3' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' index='0 1 2 3 0 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' stripCount='5' containerField='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='true' colorPerVertex='true' index='0 1 2 3 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' fanCount='4' normalPerVertex='true' solid='true' containerField='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.5708' translation='-0.5 -0.5 0.2'> |
438 | <Shape> |
439 | <Appearance USE='TextureScale_2D'/> |
440 | <ElevationGrid solid='false' xDimension='6' xSpacing='0.2' zDimension='6' zSpacing='0.2' height='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 | |
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='true' colorPerVertex='true' index='0 1 2 0 2 3' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' index='0 1 2 3 0 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' normalPerVertex='true' solid='true' stripCount='5' containerField='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='true' colorPerVertex='true' index='0 1 2 3 -1' normalPerVertex='true' solid='true' containerField='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='true' colorPerVertex='true' fanCount='4' normalPerVertex='true' solid='true' containerField='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.5708' translation='-0.5 -0.5 0.2'> |
540 | <Shape> |
541 | <Appearance USE='AppearanceNoTexture'/> |
542 | <ElevationGrid solid='false' xDimension='6' xSpacing='0.2' zDimension='6' zSpacing='0.2' height='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='Title' string='"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 | |
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='LeftFontStyle' justify='"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 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) |
<!--
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)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->