Preface |
|
xix | |
Goals |
|
xix | |
Motivation |
|
xxi | |
Reader background |
|
xxi | |
Software support |
|
xxi | |
Book structure |
|
xxi | |
Typographic conventions |
|
xxi | |
Chapter organization |
|
xxii | |
Chapter descriptions |
|
xxii | |
Chapter topics |
|
xxii | |
Appendices |
|
xxiv | |
How to use this book |
|
xxiv | |
Contributor List |
|
xxv | |
About the Authors |
|
xxvii | |
|
|
1 | (36) |
|
|
1 | (1) |
|
|
2 | (33) |
|
Historical background: VRML, ISO, and the Web3D Consortium |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (2) |
|
|
7 | (3) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
10 | (2) |
|
|
12 | (2) |
|
|
14 | (1) |
|
|
15 | (3) |
|
|
18 | (1) |
|
|
18 | (2) |
|
|
20 | (1) |
|
File encodings: XML, ClassicVRML, and Compressed |
|
|
20 | (1) |
|
Extensible Markup Language (XML) encoding: .x3d files |
|
|
21 | (1) |
|
|
22 | (2) |
|
|
24 | (1) |
|
|
25 | (2) |
|
ClassicVRML encoding: .x3dv files |
|
|
27 | (2) |
|
Binary encoding: .x3db files |
|
|
29 | (3) |
|
Hello World example using X3D-Edit and an X3D browser |
|
|
32 | (3) |
|
|
35 | (2) |
|
|
35 | (1) |
|
|
35 | (2) |
|
Geometry Nodes, Part 1: Primitives |
|
|
37 | (28) |
|
|
37 | (1) |
|
|
38 | (4) |
|
Purpose and common functionality |
|
|
38 | (2) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
42 | (20) |
|
|
42 | (1) |
|
|
42 | (2) |
|
|
44 | (2) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
46 | (2) |
|
|
48 | (1) |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
50 | (1) |
|
|
50 | (4) |
|
|
54 | (1) |
|
|
55 | (7) |
|
|
62 | (3) |
|
|
62 | (1) |
|
Related nodes and concepts |
|
|
63 | (1) |
|
|
63 | (2) |
|
|
65 | (30) |
|
|
65 | (1) |
|
|
66 | (9) |
|
Purpose and common functionality |
|
|
66 | (1) |
|
Units of measurement and coordinate systems |
|
|
66 | (3) |
|
Coordinate system details |
|
|
69 | (2) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
72 | (1) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
X3DUrlObject abstract interface |
|
|
75 | (1) |
|
|
75 | (18) |
|
Group and StaticGroup nodes |
|
|
75 | (2) |
|
|
77 | (5) |
|
|
82 | (3) |
|
|
85 | (4) |
|
|
89 | (4) |
|
|
93 | (2) |
|
|
93 | (1) |
|
Related nodes and concepts |
|
|
93 | (1) |
|
|
93 | (2) |
|
|
95 | (26) |
|
|
95 | (1) |
|
|
95 | (6) |
|
Purpose and common functionality |
|
|
96 | (1) |
|
|
96 | (1) |
|
|
97 | (1) |
|
Collision detection and terrain following |
|
|
97 | (1) |
|
|
97 | (1) |
|
|
97 | (4) |
|
|
101 | (17) |
|
|
101 | (5) |
|
|
106 | (5) |
|
|
111 | (3) |
|
|
114 | (3) |
|
|
117 | (1) |
|
|
118 | (3) |
|
|
118 | (2) |
|
Related nodes and concepts |
|
|
120 | (1) |
|
|
120 | (1) |
|
Appearance, Material, and Textures |
|
|
121 | (36) |
|
|
121 | (1) |
|
|
122 | (3) |
|
Purpose and common functionality |
|
|
122 | (1) |
|
|
123 | (1) |
|
X3DAppearanceNode and X3DAppearanceChildNode types |
|
|
123 | (1) |
|
|
124 | (1) |
|
X3DTextureNode, X3DTextureCoordinateNode, and X3DTextureTransformNode types |
|
|
124 | (1) |
|
|
124 | (1) |
|
X3DTextureTransform2DNode type |
|
|
125 | (1) |
|
|
125 | (30) |
|
|
125 | (1) |
|
|
126 | (6) |
|
|
132 | (2) |
|
|
134 | (3) |
|
|
137 | (3) |
|
|
140 | (3) |
|
|
143 | (3) |
|
|
146 | (4) |
|
|
150 | (2) |
|
TextureCoordinateGenerator node |
|
|
152 | (3) |
|
|
155 | (2) |
|
|
155 | (1) |
|
Related nodes and concepts |
|
|
155 | (1) |
|
|
155 | (2) |
|
Geometry Nodes, Part 2: Points, Lines, and Polygons |
|
|
157 | (30) |
|
|
157 | (1) |
|
|
158 | (4) |
|
Purpose and common functionality |
|
|
158 | (1) |
|
|
159 | (3) |
|
|
162 | (22) |
|
Color and ColorRGBA nodes |
|
|
162 | (1) |
|
Coordinate and CoordinateDouble nodes |
|
|
163 | (2) |
|
|
165 | (2) |
|
|
167 | (3) |
|
|
170 | (2) |
|
|
172 | (2) |
|
|
174 | (4) |
|
|
178 | (6) |
|
|
184 | (3) |
|
|
184 | (1) |
|
Related nodes and concepts |
|
|
185 | (1) |
|
|
185 | (2) |
|
Event Animation and Interpolation |
|
|
187 | (34) |
|
|
187 | (1) |
|
|
188 | (12) |
|
Animation as scene-graph modification |
|
|
188 | (1) |
|
Purpose and common functionality |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
190 | (2) |
|
Constructing animation chains: 10 steps |
|
|
192 | (4) |
|
|
196 | (1) |
|
X3DTimeDependentNode type |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
196 | (4) |
|
|
200 | (19) |
|
|
200 | (4) |
|
|
204 | (1) |
|
|
205 | (5) |
|
PositionInterpolator node |
|
|
210 | (1) |
|
OrientationInterpolator node |
|
|
211 | (3) |
|
|
214 | (1) |
|
CoordinateInterpolator node |
|
|
215 | (1) |
|
PositionInterpolator2D node |
|
|
216 | (2) |
|
CoordinateInterpolator2D node |
|
|
218 | (1) |
|
|
219 | (2) |
|
|
219 | (1) |
|
Related nodes and concepts |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
221 | (28) |
|
|
221 | (1) |
|
|
222 | (5) |
|
Purpose and common functionality |
|
|
222 | (1) |
|
|
223 | (1) |
|
X3DPointingDeviceSensorNode type |
|
|
223 | (2) |
|
|
225 | (1) |
|
|
225 | (1) |
|
X3DKeyDeviceSensorNode type |
|
|
226 | (1) |
|
|
227 | (19) |
|
|
227 | (4) |
|
|
231 | (3) |
|
|
234 | (5) |
|
|
239 | (2) |
|
|
241 | (3) |
|
|
244 | (2) |
|
|
246 | (3) |
|
|
246 | (1) |
|
Related nodes and concepts |
|
|
247 | (1) |
|
|
247 | (2) |
|
Event Utilities and Scripting |
|
|
249 | (30) |
|
|
249 | (1) |
|
|
250 | (4) |
|
Purpose and common functionality |
|
|
250 | (1) |
|
|
251 | (1) |
|
|
251 | (3) |
|
|
254 | (1) |
|
|
254 | (24) |
|
|
254 | (2) |
|
|
256 | (2) |
|
|
258 | (1) |
|
|
259 | (1) |
|
|
259 | (2) |
|
|
261 | (2) |
|
|
263 | (1) |
|
|
264 | (14) |
|
|
278 | (1) |
|
|
278 | (1) |
|
Related nodes and concepts |
|
|
278 | (1) |
|
|
278 | (1) |
|
Geometry Nodes, Part 3: Geometry2D Nodes |
|
|
279 | (20) |
|
|
279 | (1) |
|
|
280 | (1) |
|
Purpose and common functionality |
|
|
280 | (1) |
|
|
281 | (1) |
|
|
281 | (15) |
|
|
281 | (1) |
|
|
282 | (3) |
|
|
285 | (2) |
|
|
287 | (2) |
|
|
289 | (2) |
|
|
291 | (1) |
|
|
292 | (1) |
|
|
293 | (3) |
|
|
296 | (3) |
|
|
296 | (1) |
|
Related nodes and concepts |
|
|
296 | (1) |
|
|
296 | (3) |
|
Lighting and Environment Nodes |
|
|
299 | (28) |
|
|
299 | (1) |
|
|
300 | (8) |
|
Purpose and common functionality |
|
|
302 | (1) |
|
|
303 | (3) |
|
|
306 | (2) |
|
|
308 | (17) |
|
|
308 | (1) |
|
|
309 | (2) |
|
|
311 | (4) |
|
|
315 | (4) |
|
|
319 | (2) |
|
|
321 | (1) |
|
|
322 | (3) |
|
|
325 | (2) |
|
|
325 | (1) |
|
Related nodes and concepts |
|
|
326 | (1) |
|
|
326 | (1) |
|
Environment Sensor and Sound Nodes |
|
|
327 | (26) |
|
|
327 | (1) |
|
|
328 | (2) |
|
X3DEnvironmentSensorNode type |
|
|
328 | (1) |
|
X3DNetworkSensorNode type |
|
|
329 | (1) |
|
|
330 | (1) |
|
|
330 | (1) |
|
|
330 | (21) |
|
|
330 | (4) |
|
|
334 | (5) |
|
|
339 | (1) |
|
|
340 | (7) |
|
|
347 | (4) |
|
|
351 | (2) |
|
|
351 | (1) |
|
Related nodes and concepts |
|
|
351 | (1) |
|
|
351 | (2) |
|
Geometry Nodes, Part 4: Triangles and Quadrilaterals |
|
|
353 | (28) |
|
|
353 | (1) |
|
|
354 | (7) |
|
Purpose and common functionality |
|
|
354 | (1) |
|
|
355 | (1) |
|
X3DColorNode, X3DCoordinateNode, X3DGeometricPropertyNode, X3DGeometryNode, and X3DNormalNode types |
|
|
355 | (1) |
|
X3DComposedGeometryNode type |
|
|
356 | (1) |
|
|
356 | (5) |
|
|
361 | (17) |
|
|
361 | (2) |
|
|
363 | (3) |
|
|
366 | (2) |
|
|
368 | (2) |
|
|
370 | (1) |
|
|
370 | (3) |
|
IndexedTriangleFanSet node |
|
|
373 | (2) |
|
IndexedTriangleStripSet node |
|
|
375 | (2) |
|
|
377 | (1) |
|
|
378 | (3) |
|
|
378 | (1) |
|
Related nodes and concepts |
|
|
379 | (1) |
|
|
379 | (2) |
|
|
381 | (20) |
|
|
381 | (1) |
|
|
382 | (2) |
|
|
382 | (1) |
|
|
383 | (1) |
|
Comparison with Inline node |
|
|
383 | (1) |
|
|
383 | (1) |
|
|
384 | (14) |
|
Prototype declarations: ProtoDeclare |
|
|
384 | (10) |
|
External prototype declarations: ExternProtoDeclare |
|
|
394 | (3) |
|
Prototype instances: ProtoInstance |
|
|
397 | (1) |
|
|
398 | (3) |
|
|
398 | (1) |
|
Related nodes and concepts |
|
|
399 | (2) |
|
Afterword: Getting Involved |
|
|
401 | (24) |
|
|
401 | (1) |
|
|
401 | (1) |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
402 | (1) |
|
|
|
|
403 | (2) |
|
|
403 | (2) |
|
|
405 | (6) |
|
Applications, Players, and Plugins for X3D/VRML Viewing |
|
|
405 | (1) |
|
|
405 | (1) |
|
Not (yet) Web3D Consortium Members |
|
|
406 | (1) |
|
|
406 | (1) |
|
|
407 | (1) |
|
Conversion and Translation Tools |
|
|
407 | (1) |
|
|
408 | (1) |
|
|
409 | (1) |
|
|
409 | (1) |
|
|
409 | (2) |
|
X3D Scene Authoring Hints |
|
|
411 | (14) |
|
|
411 | (3) |
|
|
414 | (1) |
|
|
414 | (1) |
|
|
415 | (1) |
|
|
415 | (1) |
|
Inline and Prototype Subscenes |
|
|
416 | (1) |
|
|
417 | (1) |
|
|
418 | (1) |
|
|
418 | (1) |
|
Naming of Multiple Similar Autogenerated Files |
|
|
419 | (1) |
|
|
419 | (1) |
|
|
420 | (1) |
|
|
421 | (2) |
|
|
423 | (2) |
Index |
|
425 | |