Professional Documents
Culture Documents
DON B R U T Z M A N
Naval Postgraduate School, Monterey, California, USA and
LEONARD DALY
Daly Realism, Los Angeles, California, USA
AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO
ELSEVIER
MORGAN
KAUFMANN
PUBLISHERS
Contents
Preface 1. 2. 3. 4. 5. Goals Motivation Reader background . / Software support Book structure 5.1. Typographic conventions 5.2. Chapter organization Chapter 6.1. 6.2. 6.3. descriptions Chapter topics Appendices How to use this book
xix xix xxi xxi xxi xxi xxi xxii xxii xxii xxiv xxiv
xxv xxv ii
6.
1 1 2
2 3 5 7
vii
viii
Contents
2.5.
2.9. 3.
File structure 2.5.1. File header 2.5.2. X3D header statement 2.5.3. Profile statements 2.5.4. Component statements 2.5.5. Meta statements 2.5.6. Scene graph body Field types Abstract node types \ File encodings: XML, ClassicVRML, and Compressed 2.8.1. Extensible Markup Language (XML) encoding: .x3d files 2.8.1.1. XML motivations 2.8.1.2. XML design for X3D 2.8.1.3. XML validatibn 2.8.2. ClassicVRML encoding: .x3dv files 2.8.3. Binary encoding: .x3db files Hello World example using X3D-Edit and an X3D browser
10 10 10 12 14 15 18 18 20 20 21 22 24 25 27 29 32 35 35 35
CHAPTER 2
37
37 38 38 40 40 41 41 41 41 41 42 42 42
3.
Contents
3.2.
3.3.
3.4.
Box node 3.2.1. Size 3.2.2. Hints and warnings Cone node 3.3.1. bottomRadius and height 3.3.2. bottom and side Cylinder node 3.4.1. radius and height 3.4.2': bottom, side, and top 3.4.3. Hints and warnings Sphere node Text node FontStyle node
44 46 46 46 48 48 49 49 50 50 50 54 55 62 62 63 63
Summary ,> 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
CHAPTER 3
Grouping Nodes
1. 2. What this chapter covers Concepts
2.1. 2.2. 2.3. 2.4. 2.5. Purpose and common functionality Units of measurement and coordinate systems Coordinate system details DEF and USE Abstract node types 2.5.1. X3DChildNode type 2.5.2. X3DBoundedObject type 2.5.3. X3DGroupingNode type 2.5.4. X3DInfoNode type 2.5.5. X3DUrlObject abstract interface
65
65 66
66 66 69 71 72 72 73 73 74 75 75 75 77 82 85 89
3.
N o d e descriptions 3\1. Group and StaticGroup nodes 3.2. Transform node 3.3. Inline node 3.4. LOD node 3.5. Switch node
Contents
4.
Summary
4.1. 4.2. 4.3. Key ideas Related nodes and concepts Next chapter
93
93 93 93
CHAPTER 4
95
95 95
96 96 97 97 97 97 101 101 106 Ill 114 117 118 118 120 120
N o d e descriptions 3.1. Viewpoint node 3.2. Navigationlnfo node 3.3. Anchor node 3.4. Billboard node 3.5. Collision node Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
4.
CHAPTER 5
121
121 122
122 123 123 124 124
Contents
2.2.4. 2.2.5. 3.
124 125 125 125 126 132 134 137 140 143 146 150 152 155 155 155 155
N o d e descriptions 3.1. Appearance node 3.2. Material node 3.3. FillProperties node 3.4. LineProperties node *--..-3.5. ImageTexture node 3.6. MovieTexture node 3.7. PixelTexture node 3.8. TextureTransform node 3.9. TextureCoordinate node 3.10. TextureCoordinateGenerator node Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
4.
CHAPTER 6
G e o m e t r y N o d e s , P a r t 2 : P o i n t s , L i n e s , a n d P o l y g o n s . . . . 157
1. 2. W h a t this chapter covers Concepts 2.1. Purpose and common functionality 2.2. Common geometry fields N o d e descriptions 3.1. Color and ColorRGBA nodes 3.2. Coordinate and CoordinateDouble nodes 3.3. PointSet node 3.4. IndexedLineSet node 3.5. LineSet node 3.6. IndexedFaceSet node 3.7. ElevationGrid node 3.8. Extrusion node ' Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter r 157 158 158 159 162 162 163 165 167 170 172 174 178 184 184 185 185
3.
4.
xii
Contents
CHAPTER 7
187
187 188
188 188 189 190 192 196 196 196 196
3.
Node descriptions
3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9.
200
200 204 205 210 211 214 215 216 218 219 219 220 220
4.
Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
CHAPTER 8
221
221 ' 222
222 223 223
Contents
xiii
225 225 226 227 227 231 234 239 241 244 246 246 247 247
N o d e descriptions 3.1. TouchSensor node 3.2. PlaneSensor node 3.3. CylinderSensor node *-J5.4. SphereSensor node 3.5. KeySensor node 3.6. StringSensor node Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter. .'.
4.
CHAPTER 9
249
249 250
250 251 251 254 254 254 256 258 259 259 261 263 264 278 278 278 278
N o d e Descriptions 3.1. BooleanFilter node 3.2. BooleanSequencer node 3.3. BooleanToggle node 3.4. BooleanTrigger node 3.5. IntegerSequencer node 3.6. IntegerTrigger node 3.7. TimeTrigger node 3.8. Script node Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
4.
xiv
Contents
CHAPTER 10
279
279 280 280 281 281 281 282 285 287 289 291 292 293 296 296 296 296
3.
.'
4.
CHAPTER 11
299
299 300 302 303 306 308 308 309 311 315 319 321 322
3.
Contents
4.
Summary
4.1. 4.2. 4.3. Key ideas Related nodes and concepts Next chapter
325
325 326 326
CHAPTER 12
327
327 328
328 329 330 330
3.
Node descriptions
3.1. 3.2. 3.3. 3.4. 3.5.
330
330 334 339 340 347 351 351 351 351
4.
Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
CHAPTER 13
G e o m e t r y N o d e s , Part 4 : T r i a n g l e s a n d Q u a d r i l a t e r a l s . . . 353
1. 2. What this chapter covers Concepts
2.1. 2.2. Purpose and common functionality Abstract node types 2.2.1. X3DColorNode, X3DCoordinateNode, X3DGeometricPropertyNode, X3DGeometryNode, and X3DNormalNode types 2.2.2. X3DComposedGeometryNode type Common geometry fields
353 354
354 355
2.3.
xvi
Contents
3.
Node descriptions
3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. Normal node TriangleSet node TriangleFanSet node TriangleStripSet node QuadSet node IndexedTriangleSet node IndexedTriangleFanSet node IndexedTriangleStripSefnode IndexedQuadSet node
361
361 363 366 368 370 370 373 375 377 378 378 379 379
4.
Summary 4.1. Key ideas 4.2. Related nodes and concepts 4.3. Next chapter
,'
CHAPTER 14
38i
381 382
382 383 383 383 384 384 394 397 398 398 399
Functional descriptions 3.1. Prototype declarations: ProtoDeclare 3.2. External prototype declarations: ExternProtoDeclare 3.3. Prototype instances: Protolnstance Summary 4.1. Key ideas 4.2. Related nodes and concepts
4.
401
401 401
Contents
xvii
A. Online Resources
Web Site Description
403
403
405
405 405 406 406 407 407 408 409 409 409
411
411 414 414 415 415 416 417 418
xviii
Contents
Naming Conventions Naming of Multiple Similar Autogenerated Files Scripts URL Links Viewpoints List of References-.^ ~
Index
425