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='TextureMapComparisonsCylinder.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='17 December 2017'/> |
9 | <meta name='modified' content='21 January 2020'/> |
10 | <meta name='reference' content='TextureMapTesting.pdf'/> |
11 | <meta name='Image' content='TextureMapComparisonsCylinderX_ITE.png'/> |
12 | <meta name='Image' content='TextureMapComparisonsCylinderX3DOM.png'/> |
13 | <meta name='Image' content='TextureMapComparisonsCylinderBSContact.png'/> |
14 | <meta name='Image' content='TextureMapComparisonsCylinderFreeWrl.png'/> |
15 | <meta name='Image' content='TextureMapComparisonsCylinderH3DViewer.png'/> |
16 | <meta name='Image' content='TextureMapComparisonsCylinderInstantReality.png'/> |
17 | <meta name='Image' content='TextureMapComparisonsCylinderView3dScene.png'/> |
18 | <meta name='Image' content='TextureMapComparisonsCylinderXj3D.png'/> |
19 | <meta name='reference' content='TextureMapComparisonsRectangle.x3d'/> |
20 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Images'/> |
21 | <meta name='specificationSection' content='X3D Abstract Specification, 18.2.3 Texture coordinates'/> |
22 | <meta name='specificationUrl' content='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/texturing.html#Texturecoordinates'/> |
23 | <meta name='Image' content='https://www.web3d.org/documents/specifications/19775-1/V3.3/Images/ImageTexture.gif'/> |
24 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/TextureMapComparisonsCylinder.x3d'/> |
25 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
26 | <meta name='license' content='../license.html'/> |
27 | </head> |
28 | <Scene> |
29 | <WorldInfo title='TextureMapComparisonsCylinder.x3d'/> |
30 | <Viewpoint DEF='Viewpoint1' description='default view' position='0 0 21'/> |
31 | <!-- == === ==== 1st row --> |
32 | <Transform translation='0 0.2 0'> |
33 | <!-- Cylinder --> |
34 | <Transform translation='0 3 0'> |
35 | <Transform translation='-6 0 0'> |
36 | <Shape> |
37 |
<!-- Appearance
TextureAppearance is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Appearance DEF='TextureAppearance'> |
38 |
<!-- ImageTexture
SpecificationTexture is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <ImageTexture DEF='SpecificationTexture' url=' "ImageTextureSpecificationSquare.png " "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/ImageTextureSpecificationSquare.png " '/> |
39 | </Appearance> |
40 | <Cylinder/> |
41 | </Shape> |
42 | </Transform> |
43 | <!-- Indexed Face Set --> |
44 | <Transform translation='-3.5 0 0'> |
45 | <Shape> |
46 | <Appearance USE='TextureAppearance'/> |
47 |
<!-- IndexedFaceSet
BaseIFS is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<IndexedFaceSet DEF='BaseIFS' coordIndex='0 1 9 8 -1 1 2 10 9 -1 2 3 11 10 -1 3 4 12 11 -1 4 5 13 12 -1 5 6 14 13 -1 6 7 15 14 -1 7 0 8 15 -1 8 9 17 16 -1 9 10 18 17 -1 10 11 19 18 -1 11 12 20 19 -1 12 13 21 20 -1 13 14 22 21 -1 14 15 23 22 -1 15 8 16 23 -1'> |
48 |
<!-- Coordinate
CsForCylinder is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <Coordinate DEF='CsForCylinder' point='0 -1 1 0.707 -1 0.707 1 -1 0 0.707 -1 -0.707 0 -1 -1 -0.707 -1 -0.707 -1 -1 0 -0.707 -1 0.707 0 0.5 1 0.707 0.5 0.707 1 0.5 0 0.707 0.5 -0.707 0 0.5 -1 -0.707 0.5 -0.707 -1 0.5 0 -0.707 0.5 0.707 0 1 1 0.707 1 0.707 1 1 0 0.707 1 -0.707 0 1 -1 -0.707 1 -0.707 -1 1 0 -0.707 1 0.707'/> |
49 | </IndexedFaceSet> |
50 | </Shape> |
51 | </Transform> |
52 | <!-- Indexed Triangle Strip Set --> |
53 | <Transform translation='-1 0 0'> |
54 | <Shape> |
55 | <Appearance USE='TextureAppearance'/> |
56 |
<!-- IndexedTriangleStripSet
BaseITSS is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<IndexedTriangleStripSet DEF='BaseITSS' ccw='true' colorPerVertex='true' index='8 0 9 1 10 2 11 3 12 4 13 5 14 6 15 7 8 0 -1 16 8 17 9 18 10 19 11 20 12 21 13 22 14 23 15 16 8 -1' normalPerVertex='true' solid='true' containerField='geometry'> |
57 | <Coordinate USE='CsForCylinder'/> |
58 | </IndexedTriangleStripSet> |
59 | </Shape> |
60 | </Transform> |
61 | <!-- Extrusion --> |
62 | <Transform translation='1.5 0 0'> |
63 | <Shape> |
64 | <Appearance USE='TextureAppearance'/> |
65 |
<!-- Extrusion
BaseExtrusionShape is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
<Extrusion DEF='BaseExtrusionShape' crossSection='0 -1 -0.707 -0.707 -1 0 -0.707 0.707 0 1 0.707 0.707 1 0 0.707 -0.707 0 -1' spine='0 -1 0 0 0.5 0 0 1 0'> |
66 | <!-- spine is open, crossSection is closed --> |
67 | </Extrusion> |
68 | </Shape> |
69 | </Transform> |
70 | </Transform> |
71 | <!-- == === ==== 2nd row --> |
72 | <!-- Cylinder --> |
73 | <Transform translation='0 0.5 0'> |
74 | <Transform translation='-6 0 0'> |
75 | <Shape> |
76 |
<!-- Appearance
TextureRotate is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Appearance DEF='TextureRotate'> |
77 | <ImageTexture USE='SpecificationTexture'/> |
78 | <TextureTransform rotation='0.8'/> |
79 | </Appearance> |
80 | <Cylinder/> |
81 | </Shape> |
82 | </Transform> |
83 | <!-- Indexed Face Set --> |
84 | <Transform translation='-3.5 0 0'> |
85 | <Shape> |
86 | <Appearance USE='TextureRotate'/> |
87 | <IndexedFaceSet USE='BaseIFS'/> |
88 | </Shape> |
89 | </Transform> |
90 | <!-- Indexed Triangle Strip Set --> |
91 | <Transform translation='-1 0 0'> |
92 | <Shape> |
93 | <Appearance USE='TextureRotate'/> |
94 | <IndexedTriangleStripSet USE='BaseITSS' containerField='geometry'/> |
95 | </Shape> |
96 | </Transform> |
97 | <!-- Extrusion --> |
98 | <Transform translation='1.5 0 0'> |
99 | <Shape> |
100 | <Appearance USE='TextureRotate'/> |
101 | <Extrusion USE='BaseExtrusionShape'/> |
102 | </Shape> |
103 | </Transform> |
104 | </Transform> |
105 | <!-- == === ==== 3rd row --> |
106 | <!-- Cylinder --> |
107 | <Transform translation='0 -2 0'> |
108 | <Transform translation='-6 0 0'> |
109 | <Shape> |
110 |
<!-- Appearance
TextureTranslate is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Appearance DEF='TextureTranslate'> |
111 | <ImageTexture USE='SpecificationTexture'/> |
112 | <TextureTransform rotation='0.8' translation='0.2 -0.5'/> |
113 | </Appearance> |
114 | <Cylinder/> |
115 | </Shape> |
116 | </Transform> |
117 | <!-- Indexed Face Set --> |
118 | <Transform translation='-3.5 0 0'> |
119 | <Shape> |
120 | <Appearance USE='TextureTranslate'/> |
121 | <IndexedFaceSet USE='BaseIFS'/> |
122 | </Shape> |
123 | </Transform> |
124 | <!-- Indexed Triangle Strip Set --> |
125 | <Transform translation='-1 0 0'> |
126 | <Shape> |
127 | <Appearance USE='TextureTranslate'/> |
128 | <IndexedTriangleStripSet USE='BaseITSS' containerField='geometry'/> |
129 | </Shape> |
130 | </Transform> |
131 | <!-- Extrusion --> |
132 | <Transform translation='1.5 0 0'> |
133 | <Shape> |
134 | <Appearance USE='TextureTranslate'/> |
135 | <Extrusion USE='BaseExtrusionShape'/> |
136 | </Shape> |
137 | </Transform> |
138 | </Transform> |
139 | <!-- == === ==== 4th row --> |
140 | <!-- Cylinder --> |
141 | <Transform translation='0 -4.5 0'> |
142 | <Transform translation='-6 0 0'> |
143 | <Shape> |
144 |
<!-- Appearance
TextureScale is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Appearance DEF='TextureScale'> |
145 | <ImageTexture USE='SpecificationTexture'/> |
146 | <TextureTransform rotation='0.8' scale='2 2' translation='0.2 -0.5'/> |
147 | </Appearance> |
148 | <Cylinder/> |
149 | </Shape> |
150 | </Transform> |
151 | <!-- Indexed Face Set --> |
152 | <Transform translation='-3.5 0 0'> |
153 | <Shape> |
154 | <Appearance USE='TextureScale'/> |
155 | <IndexedFaceSet USE='BaseIFS'/> |
156 | </Shape> |
157 | </Transform> |
158 | <!-- Indexed Triangle Strip Set --> |
159 | <Transform translation='-1 0 0'> |
160 | <Shape> |
161 | <Appearance USE='TextureScale'/> |
162 | <IndexedTriangleStripSet USE='BaseITSS' containerField='geometry'/> |
163 | </Shape> |
164 | </Transform> |
165 | <!-- Extrusion --> |
166 | <Transform translation='1.5 0 0'> |
167 | <Shape> |
168 | <Appearance USE='TextureScale'/> |
169 | <Extrusion USE='BaseExtrusionShape'/> |
170 | </Shape> |
171 | </Transform> |
172 | </Transform> |
173 | <!-- == === ==== 5th row --> |
174 | <!-- Cylinder --> |
175 | <Transform translation='0 -7 0'> |
176 | <Transform translation='-6 0 0'> |
177 | <Shape> |
178 |
<!-- Appearance
AppearanceNoTexture is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Appearance DEF='AppearanceNoTexture'> |
179 | <Material diffuseColor='0.6 1 1'/> |
180 | </Appearance> |
181 | <Cylinder/> |
182 | </Shape> |
183 | </Transform> |
184 | <!-- Indexed Face Set --> |
185 | <Transform translation='-3.5 0 0'> |
186 | <Shape> |
187 | <Appearance USE='AppearanceNoTexture'/> |
188 | <IndexedFaceSet coordIndex='0 1 9 8 -1 1 2 10 9 -1 2 3 11 10 -1 3 4 12 11 -1 4 5 13 12 -1 5 6 14 13 -1 6 7 15 14 -1 7 0 8 15 -1 8 9 17 16 -1 9 10 18 17 -1 10 11 19 18 -1 11 12 20 19 -1 12 13 21 20 -1 13 14 22 21 -1 14 15 23 22 -1 15 8 16 23 -1'> |
189 | <Coordinate USE='CsForCylinder'/> |
190 | </IndexedFaceSet> |
191 | </Shape> |
192 | </Transform> |
193 | <!-- Indexed Triangle Strip Set --> |
194 | <Transform translation='-1 0 0'> |
195 | <Shape> |
196 | <Appearance USE='AppearanceNoTexture'/> |
197 | <IndexedTriangleStripSet ccw='true' colorPerVertex='true' index='8 0 9 1 10 2 11 3 12 4 13 5 14 6 15 7 8 0 -1 16 8 17 9 18 10 19 11 20 12 21 13 22 14 23 15 16 8 -1' normalPerVertex='true' solid='true' containerField='geometry'> |
198 | <Coordinate USE='CsForCylinder'/> |
199 | </IndexedTriangleStripSet> |
200 | </Shape> |
201 | </Transform> |
202 | <!-- Extrusion --> |
203 | <Transform translation='1.5 0 0'> |
204 | <Shape> |
205 | <Appearance USE='AppearanceNoTexture'/> |
206 | <Extrusion USE='BaseExtrusionShape'/> |
207 | </Shape> |
208 | </Transform> |
209 | </Transform> |
210 | <!-- == === ==== Text --> |
211 | <!-- Title --> |
212 | <Transform translation='0 7 0'> |
213 | <Shape> |
214 | <Text DEF='Title' string='"Texture Map Comparisons for Cylinders!"'> |
215 | <FontStyle justify='"MIDDLE" "FIRST"'/> |
216 | </Text> |
217 | <Appearance DEF='DefaultAppearance'> |
218 | <Material DEF='DefaultMaterial'/> |
219 | </Appearance> |
220 | </Shape> |
221 | </Transform> |
222 | <!-- X axis : Geometry Index --> |
223 | <Transform translation='0 5.2 0'> |
224 | <!-- Cylinder --> |
225 | <Transform translation='-6 0 0'> |
226 | <Shape> |
227 | <Text string='"Cylinder"'> |
228 |
<!-- FontStyle
CenterFontStyle is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <FontStyle DEF='CenterFontStyle' justify='"MIDDLE" "MIDDLE"' size='0.75' style='BOLD'/> |
229 | </Text> |
230 | </Shape> |
231 | </Transform> |
232 | <!-- Indexed Face Set --> |
233 | <Transform translation='-3.5 0 0'> |
234 | <Shape> |
235 | <Text string='"IFS"'> |
236 | <FontStyle USE='CenterFontStyle'/> |
237 | </Text> |
238 | </Shape> |
239 | </Transform> |
240 | <!-- Indexed Triangle Strip Set --> |
241 | <Transform translation='-1 0 0'> |
242 | <Shape> |
243 | <Text string='"ITSS"'> |
244 | <FontStyle USE='CenterFontStyle'/> |
245 | </Text> |
246 | </Shape> |
247 | </Transform> |
248 | <!-- Extrusion --> |
249 | <Transform translation='1.5 0 0'> |
250 | <Shape> |
251 | <Text string='"Extrusion"'> |
252 | <FontStyle USE='CenterFontStyle'/> |
253 | </Text> |
254 | </Shape> |
255 | </Transform> |
256 | </Transform> |
257 | <!-- Y axis : Texture Description --> |
258 | <Transform translation='3 3.5 0'> |
259 | <Transform> |
260 | <Shape> |
261 | <Text string='"Default Texture"'> |
262 |
<!-- FontStyle
LeftFontStyle is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 --> <FontStyle DEF='LeftFontStyle' justify='"BEGIN" "MIDDLE"' size='0.75'/> |
263 | </Text> |
264 | </Shape> |
265 | </Transform> |
266 | <Transform translation='0 -2.5 0'> |
267 | <Shape> |
268 | <Text string='"Rotate Texture"'> |
269 | <FontStyle USE='LeftFontStyle'/> |
270 | </Text> |
271 | </Shape> |
272 | </Transform> |
273 | <Transform translation='0 -5 0'> |
274 | <Shape> |
275 | <Text string='"Rotate, Translate Texture"'> |
276 | <FontStyle USE='LeftFontStyle'/> |
277 | </Text> |
278 | </Shape> |
279 | </Transform> |
280 | <Transform translation='0 -7.5 0'> |
281 | <Shape> |
282 | <Text string='"Rotate, Translate, Scale"'> |
283 | <FontStyle USE='LeftFontStyle'/> |
284 | </Text> |
285 | </Shape> |
286 | </Transform> |
287 | <Transform translation='0 -10 0'> |
288 | <Shape> |
289 | <Text string='"No Texture"'> |
290 | <FontStyle USE='LeftFontStyle'/> |
291 | </Text> |
292 | <Appearance> |
293 | <Material diffuseColor='0.6 1 1'/> |
294 | </Appearance> |
295 | </Shape> |
296 | </Transform> |
297 | </Transform> |
298 | </Transform> |
299 | </Scene> |
300 | </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)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->