| 
			 
					| Titre : | X3D : Extensible 3D graphics for Web authors |  
					| Type de document : | texte imprimé |  
					| Auteurs : | Don Brutzman ; Leonard Daly |  
					| Editeur : | Amsterdam : Elsevier |  
					| Année de publication : | 2007 |  
					| Importance : | 1 vol (441 p.) |  
					| Format : | 24 cm |  
					| ISBN/ISSN/EAN : | 978-0-12-088500-8 |  
					| Note générale : | 978-0-12-088500-8 |  
					| Catégories : | Informatique 
 |  
					| Mots-clés : | Three-dimensional display systems XML (Document markup language)
 XML (langage de balisage)
 Imagerie tridimensionnelle
 Sites Web : Conception
 |  
					| Index. décimale : | 006.6 Infographie |  
					| Résumé : |  |  
					| Note de contenu : | Sommaire
 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
 1. Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
 2. Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 3. Reader background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 4. Software support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 5. Book structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 5.1. Typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 5.2. Chapter organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
 6. Chapter descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
 6.1. Chapter topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
 6.2. Appendices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
 6.3. How to use this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
 Contributor List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
 About the Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
 CHAPTER 1
 Technical Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 2.1. Historical background: VRML, ISO,
 and the Web3D Consortium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 2.2. X3D browsers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
 2.3. X3D specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 2.4. Scene graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
 Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page vii
 viii Contents
 2.5. File structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
 2.5.1. File header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
 2.5.2. X3D header statement. . . . . . . . . . . . . . . . . . . . . . . 10
 2.5.3. Profile statements . . . . . . . . . . . . . . . . . . . . . . . . . . 12
 2.5.4. Component statements . . . . . . . . . . . . . . . . . . . . . . 14
 2.5.5. Meta statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
 2.5.6. Scene graph body . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 2.6. Field types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 2.7. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 2.8. File encodings: XML, ClassicVRML, and Compressed . . . . . . . . 20
 2.8.1. Extensible Markup Language (XML)
 encoding: .x3d files . . . . . . . . . . . . . . . . . . . . . . . . . 21
 2.8.1.1. XML motivations. . . . . . . . . . . . . . . . . 22
 2.8.1.2. XML design for X3D . . . . . . . . . . . . . . 24
 2.8.1.3. XML validation . . . . . . . . . . . . . . . . . . 25
 2.8.2. ClassicVRML encoding: .x3dv files . . . . . . . . . . . . . 27
 2.8.3. Binary encoding: .x3db files. . . . . . . . . . . . . . . . . . . 29
 2.9. Hello World example using X3D-Edit and an X3D browser . . . . . 32
 3. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 3.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 3.2. Next chapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 CHAPTER 2
 Geometry Nodes, Part 1: Primitives . . . . . . . . . . . . . . . . . 37
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 2. Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . . 38
 2.2. Common field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 2.2.1. Solid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 2.3. Abstract node types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 2.3.1. X3DShapeNode type. . . . . . . . . . . . . . . . . . . . . . . . 41
 2.3.2. X3DGeometryNode type. . . . . . . . . . . . . . . . . . . . . 41
 2.3.3. X3DFontStyleNode type . . . . . . . . . . . . . . . . . . . . 41
 2.4. Hints and warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 3.1. Shape node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 3.1.1. Hints and warnings. . . . . . . . . . . . . . . . . . . . . . . . . 42
 Brutzman-FM.qxd 2:28:07 08:51 PM Page viii
 Contents ix
 3.2. Box node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
 3.2.1. Size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 3.2.2. Hints and warnings. . . . . . . . . . . . . . . . . . . . 46
 3.3. Cone node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 3.3.1. bottomRadius and height. . . . . . . . . . . . . . . . 48
 3.3.2. bottom and side . . . . . . . . . . . . . . . . . . . . . . 48
 3.4. Cylinder node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
 3.4.1. radius and height . . . . . . . . . . . . . . . . . . . . . 49
 3.4.2. bottom, side, and top . . . . . . . . . . . . . . . . . . 50
 3.4.3. Hints and warnings. . . . . . . . . . . . . . . . . . . . 50
 3.5. Sphere node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 3.6. Text node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
 3.7. FontStyle node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
 4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . 63
 4.3. Next chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
 CHAPTER 3
 Grouping Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . . 66
 2.2. Units of measurement and coordinate systems . . . . . . . . . . . . . . 66
 2.3. Coordinate system details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
 2.4. DEF and USE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
 2.5. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
 2.5.1. X3DChildNode type . . . . . . . . . . . . . . . . . . . . . . . 72
 2.5.2. X3DBoundedObject type . . . . . . . . . . . . . . . . . . . . 73
 2.5.3. X3DGroupingNode type . . . . . . . . . . . . . . . . . . . . 73
 2.5.4. X3DInfoNode type . . . . . . . . . . . . . . . . . . . . . . . . 74
 2.5.5. X3DUrlObject abstract interface . . . . . . . . . . . . . . . 75
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
 3.1. Group and StaticGroup nodes . . . . . . . . . . . . . . . . . . . . . . . . . . 75
 3.2. Transform node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
 3.3. Inline node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
 3.4. LOD node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
 3.5. Switch node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
 Brutzman-FM.qxd 2:28:07 08:51 PM Page ix
 x Contents
 4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 CHAPTER 4
 Viewing and Navigation . . . . . . . . . . . . . . . . . . . . . . . . . 95
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
 2. Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . . 96
 2.2. Viewing model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
 2.3. Navigation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
 2.4. Collision detection and terrain following . . . . . . . . . . . . . . . . . . 97
 2.5. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
 2.5.1. X3DBindableNode type. . . . . . . . . . . . . . . . . . . . . . 97
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
 3.1. Viewpoint node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
 3.2. NavigationInfo node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
 3.3. Anchor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
 3.4. Billboard node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
 3.5. Collision node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
 CHAPTER 5
 Appearance, Material, and Textures . . . . . . . . . . . . . . . . 121
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 122
 2.2. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
 2.2.1. X3DAppearanceNode and
 X3DAppearanceChildNode types . . . . . . . . . . . . . 123
 2.2.2. X3DMaterialNode type . . . . . . . . . . . . . . . . . . . . 124
 2.2.3. X3DTextureNode, X3DTextureCoordinateNode,
 and X3DTextureTransformNode types . . . . . . . . . 124
 Brutzman-FM.qxd 2:28:07 08:51 PM Page x
 2.2.4. X3DTexture2DNode type . . . . . . . . . . . . . . . . . . . 124
 2.2.5. X3DTextureTransform2DNode type . . . . . . . . . . . 125
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
 3.1. Appearance node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
 3.2. Material node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
 3.3. FillProperties node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
 3.4. LineProperties node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
 3.5. ImageTexture node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
 3.6. MovieTexture node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
 3.7. PixelTexture node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
 3.8. TextureTransform node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
 3.9. TextureCoordinate node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
 3.10. TextureCoordinateGenerator node. . . . . . . . . . . . . . . . . . . . . . 152
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 CHAPTER 6
 Geometry Nodes, Part 2: Points, Lines, and Polygons . . . . 157
 1. What this chapter covers. . . . . . . . . . . . . . . . . . . . . . . . . . . 157
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 158
 2.2. Common geometry fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
 3.1. Color and ColorRGBA nodes . . . . . . . . . . . . . . . . . . . . . . . . . 162
 3.2. Coordinate and CoordinateDouble nodes. . . . . . . . . . . . . . . . . 163
 3.3. PointSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
 3.4. IndexedLineSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
 3.5. LineSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
 3.6. IndexedFaceSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
 3.7. ElevationGrid node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
 3.8. Extrusion node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
 Contents xi
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xi
 CHAPTER 7
 Event Animation and Interpolation. . . . . . . . . . . . . . . . . 187
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
 2.1. Animation as scene-graph modification . . . . . . . . . . . . . . . . . . 188
 2.2. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 188
 2.3. ROUTE connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
 2.4. Interpolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
 2.5. Constructing animation chains: 10 steps. . . . . . . . . . . . . . . . . . 192
 2.6. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
 2.6.1. X3DTimeDependentNode type . . . . . . . . . . . . . . . 196
 2.6.2. X3DSensorNode type . . . . . . . . . . . . . . . . . . . . . . 196
 2.6.3. X3DInterpolatorNode type . . . . . . . . . . . . . . . . . . 196
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
 3.1. TimeSensor node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
 3.2. ScalarInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
 3.3. ColorInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
 3.4. PositionInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
 3.5. OrientationInterpolator node. . . . . . . . . . . . . . . . . . . . . . . . . . 211
 3.6. NormalInterpolator node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
 3.7. CoordinateInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . 215
 3.8. PositionInterpolator2D node . . . . . . . . . . . . . . . . . . . . . . . . . . 216
 3.9. CoordinateInterpolator2D node. . . . . . . . . . . . . . . . . . . . . . . . 218
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
 CHAPTER 8
 User Interactivity Nodes . . . . . . . . . . . . . . . . . . . . . . . . 221
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 222
 2.2. X3DSensorNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
 2.3. X3DPointingDeviceSensorNode type . . . . . . . . . . . . . . . . . . . . 223
 xii Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xii
 2.4. X3DTouchSensorNode type. . . . . . . . . . . . . . . . . . . . . . . . . . . 225
 2.5. X3DDragSensorNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
 2.6. X3DKeyDeviceSensorNode type . . . . . . . . . . . . . . . . . . . . . . . 226
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
 3.1. TouchSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
 3.2. PlaneSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
 3.3. CylinderSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
 3.4. SphereSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
 3.5. KeySensor node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
 3.6. StringSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
 CHAPTER 9
 Event Utilities and Scripting . . . . . . . . . . . . . . . . . . . . . 249
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 250
 2.2. X3DScriptNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
 2.3. X3DSequencerNode type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
 2.4. X3DTriggerNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
 3. Node Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
 3.1. BooleanFilter node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
 3.2. BooleanSequencer node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
 3.3. BooleanToggle node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
 3.4. BooleanTrigger node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
 3.5. IntegerSequencer node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
 3.6. IntegerTrigger node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
 3.7. TimeTrigger node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
 3.8. Script node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 Contents xiii
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xiii
 CHAPTER 10
 Geometry Nodes, Part 3: Geometry2D Nodes . . . . . . . . . . 279
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 280
 2.2. Common geometry fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
 3.1. Arc2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
 3.2. ArcClose2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
 3.3. Circle2D node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
 3.4. Disk2D node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
 3.5. Polyline2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
 3.6. Polypoint2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
 3.7. Rectangle2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
 3.8. TriangleSet2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 CHAPTER 11
 Lighting and Environment Nodes . . . . . . . . . . . . . . . . . . 299
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 302
 2.2. X3DLightNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
 2.3. X3DBackgroundNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
 3.1. DirectionalLight node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
 3.2. Headlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
 3.3. PointLight node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
 3.4. SpotLight node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
 3.5. Background node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
 3.6. TextureBackground node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
 3.7. Fog node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
 xiv Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xiv
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
 CHAPTER 12
 Environment Sensor and Sound Nodes . . . . . . . . . . . . . . 327
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
 2.1. X3DEnvironmentSensorNode type. . . . . . . . . . . . . . . . . . . . . . 328
 2.2. X3DNetworkSensorNode type. . . . . . . . . . . . . . . . . . . . . . . . . 329
 2.3. X3DSoundNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 2.4. X3DSoundSourceNode type . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 3.1. LoadSensor node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 3.2. ProximitySensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
 3.3. VisibilitySensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
 3.4. Sound node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
 3.5. AudioClip node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 CHAPTER 13
 Geometry Nodes, Part 4: Triangles and Quadrilaterals . . . 353
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 354
 2.2. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
 2.2.1. X3DColorNode, X3DCoordinateNode,
 X3DGeometricPropertyNode, X3DGeometryNode,
 and X3DNormalNode types . . . . . . . . . . . . . . . . . 355
 2.2.2. X3DComposedGeometryNode type . . . . . . . . . . . 356
 2.3. Common geometry fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
 Contents xv
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xv
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
 3.1. Normal node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
 3.2. TriangleSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
 3.3. TriangleFanSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
 3.4. TriangleStripSet node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
 3.5. QuadSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
 3.6. IndexedTriangleSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
 3.7. IndexedTriangleFanSet node . . . . . . . . . . . . . . . . . . . . . . . . . . 373
 3.8. IndexedTriangleStripSet node. . . . . . . . . . . . . . . . . . . . . . . . . . 375
 3.9. IndexedQuadSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
 CHAPTER 14
 Creating Prototype Nodes . . . . . . . . . . . . . . . . . . . . . . . 381
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
 2.1. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
 2.2. Strong typing of nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
 2.3. Comparison with Inline node. . . . . . . . . . . . . . . . . . . . . . . . . . 383
 2.4. Syntax alert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
 3. Functional descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
 3.1. Prototype declarations: ProtoDeclare . . . . . . . . . . . . . . . . . . . . 384
 3.2. External prototype declarations: ExternProtoDeclare . . . . . . . . 394
 3.3. Prototype instances: ProtoInstance . . . . . . . . . . . . . . . . . . . . . . 397
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
 Afterword: Getting Involved . . . . . . . . . . . . . . . . . . . . . 401
 Learning X3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
 Building Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
 xvi Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xvi
 Creating Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
 X3D Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
 Other Web3D Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
 APPENDICES
 A. Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
 Web Site Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
 B. Help: X3D/VRML Examples . . . . . . . . . . . . . . . . . . . . . 405
 Applications, Players, and Plugins for X3D/VRML Viewing . . . . 405
 Web3D Consortium Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
 Not (yet) Web3D Consortium Members . . . . . . . . . . . . . . . . . . . . . . 406
 Authoring Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
 Authoring Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
 Conversion and Translation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 407
 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
 PowerPoint Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
 C. X3D Scene Authoring Hints . . . . . . . . . . . . . . . . . . . . 411
 Authoring practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
 Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
 Dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
 Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
 Inline and Prototype Subscenes. . . . . . . . . . . . . . . . . . . . . . . . . . 416
 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
 meta tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
 Contents xvii
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xvii
 xviii Contents
 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
 Naming of Multiple Similar Autogenerated Files. . . . . . . . . . . . . . . . 419
 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
 URL Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
 Viewpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
 List of References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
 |  
					| Côte titre : | Fs/19854 | 
X3D : Extensible 3D graphics for Web authors [texte imprimé] / Don Brutzman  ; Leonard Daly  . - Amsterdam : Elsevier , 2007 . - 1 vol (441 p.) ; 24 cm.ISBN  : 978-0-12-088500-8 978-0-12-088500-8 
					| Catégories : | Informatique 
 |  
					| Mots-clés : | Three-dimensional display systems XML (Document markup language)
 XML (langage de balisage)
 Imagerie tridimensionnelle
 Sites Web : Conception
 |  
					| Index. décimale : | 006.6 Infographie |  
					| Résumé : |  |  
					| Note de contenu : | Sommaire
 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
 1. Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
 2. Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 3. Reader background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 4. Software support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 5. Book structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 5.1. Typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
 5.2. Chapter organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
 6. Chapter descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
 6.1. Chapter topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
 6.2. Appendices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
 6.3. How to use this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
 Contributor List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
 About the Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
 CHAPTER 1
 Technical Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 2.1. Historical background: VRML, ISO,
 and the Web3D Consortium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 2.2. X3D browsers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
 2.3. X3D specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 2.4. Scene graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
 Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page vii
 viii Contents
 2.5. File structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
 2.5.1. File header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
 2.5.2. X3D header statement. . . . . . . . . . . . . . . . . . . . . . . 10
 2.5.3. Profile statements . . . . . . . . . . . . . . . . . . . . . . . . . . 12
 2.5.4. Component statements . . . . . . . . . . . . . . . . . . . . . . 14
 2.5.5. Meta statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
 2.5.6. Scene graph body . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 2.6. Field types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
 2.7. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 2.8. File encodings: XML, ClassicVRML, and Compressed . . . . . . . . 20
 2.8.1. Extensible Markup Language (XML)
 encoding: .x3d files . . . . . . . . . . . . . . . . . . . . . . . . . 21
 2.8.1.1. XML motivations. . . . . . . . . . . . . . . . . 22
 2.8.1.2. XML design for X3D . . . . . . . . . . . . . . 24
 2.8.1.3. XML validation . . . . . . . . . . . . . . . . . . 25
 2.8.2. ClassicVRML encoding: .x3dv files . . . . . . . . . . . . . 27
 2.8.3. Binary encoding: .x3db files. . . . . . . . . . . . . . . . . . . 29
 2.9. Hello World example using X3D-Edit and an X3D browser . . . . . 32
 3. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 3.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 3.2. Next chapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 CHAPTER 2
 Geometry Nodes, Part 1: Primitives . . . . . . . . . . . . . . . . . 37
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 2. Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . . 38
 2.2. Common field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 2.2.1. Solid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 2.3. Abstract node types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 2.3.1. X3DShapeNode type. . . . . . . . . . . . . . . . . . . . . . . . 41
 2.3.2. X3DGeometryNode type. . . . . . . . . . . . . . . . . . . . . 41
 2.3.3. X3DFontStyleNode type . . . . . . . . . . . . . . . . . . . . 41
 2.4. Hints and warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 3.1. Shape node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 3.1.1. Hints and warnings. . . . . . . . . . . . . . . . . . . . . . . . . 42
 Brutzman-FM.qxd 2:28:07 08:51 PM Page viii
 Contents ix
 3.2. Box node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
 3.2.1. Size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 3.2.2. Hints and warnings. . . . . . . . . . . . . . . . . . . . 46
 3.3. Cone node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 3.3.1. bottomRadius and height. . . . . . . . . . . . . . . . 48
 3.3.2. bottom and side . . . . . . . . . . . . . . . . . . . . . . 48
 3.4. Cylinder node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
 3.4.1. radius and height . . . . . . . . . . . . . . . . . . . . . 49
 3.4.2. bottom, side, and top . . . . . . . . . . . . . . . . . . 50
 3.4.3. Hints and warnings. . . . . . . . . . . . . . . . . . . . 50
 3.5. Sphere node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 3.6. Text node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
 3.7. FontStyle node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
 4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . 63
 4.3. Next chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
 CHAPTER 3
 Grouping Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . . 66
 2.2. Units of measurement and coordinate systems . . . . . . . . . . . . . . 66
 2.3. Coordinate system details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
 2.4. DEF and USE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
 2.5. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
 2.5.1. X3DChildNode type . . . . . . . . . . . . . . . . . . . . . . . 72
 2.5.2. X3DBoundedObject type . . . . . . . . . . . . . . . . . . . . 73
 2.5.3. X3DGroupingNode type . . . . . . . . . . . . . . . . . . . . 73
 2.5.4. X3DInfoNode type . . . . . . . . . . . . . . . . . . . . . . . . 74
 2.5.5. X3DUrlObject abstract interface . . . . . . . . . . . . . . . 75
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
 3.1. Group and StaticGroup nodes . . . . . . . . . . . . . . . . . . . . . . . . . . 75
 3.2. Transform node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
 3.3. Inline node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
 3.4. LOD node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
 3.5. Switch node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
 Brutzman-FM.qxd 2:28:07 08:51 PM Page ix
 x Contents
 4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
 CHAPTER 4
 Viewing and Navigation . . . . . . . . . . . . . . . . . . . . . . . . . 95
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
 2. Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . . 96
 2.2. Viewing model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
 2.3. Navigation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
 2.4. Collision detection and terrain following . . . . . . . . . . . . . . . . . . 97
 2.5. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
 2.5.1. X3DBindableNode type. . . . . . . . . . . . . . . . . . . . . . 97
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
 3.1. Viewpoint node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
 3.2. NavigationInfo node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
 3.3. Anchor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
 3.4. Billboard node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
 3.5. Collision node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
 CHAPTER 5
 Appearance, Material, and Textures . . . . . . . . . . . . . . . . 121
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 122
 2.2. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
 2.2.1. X3DAppearanceNode and
 X3DAppearanceChildNode types . . . . . . . . . . . . . 123
 2.2.2. X3DMaterialNode type . . . . . . . . . . . . . . . . . . . . 124
 2.2.3. X3DTextureNode, X3DTextureCoordinateNode,
 and X3DTextureTransformNode types . . . . . . . . . 124
 Brutzman-FM.qxd 2:28:07 08:51 PM Page x
 2.2.4. X3DTexture2DNode type . . . . . . . . . . . . . . . . . . . 124
 2.2.5. X3DTextureTransform2DNode type . . . . . . . . . . . 125
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
 3.1. Appearance node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
 3.2. Material node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
 3.3. FillProperties node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
 3.4. LineProperties node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
 3.5. ImageTexture node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
 3.6. MovieTexture node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
 3.7. PixelTexture node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
 3.8. TextureTransform node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
 3.9. TextureCoordinate node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
 3.10. TextureCoordinateGenerator node. . . . . . . . . . . . . . . . . . . . . . 152
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 CHAPTER 6
 Geometry Nodes, Part 2: Points, Lines, and Polygons . . . . 157
 1. What this chapter covers. . . . . . . . . . . . . . . . . . . . . . . . . . . 157
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 158
 2.2. Common geometry fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
 3.1. Color and ColorRGBA nodes . . . . . . . . . . . . . . . . . . . . . . . . . 162
 3.2. Coordinate and CoordinateDouble nodes. . . . . . . . . . . . . . . . . 163
 3.3. PointSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
 3.4. IndexedLineSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
 3.5. LineSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
 3.6. IndexedFaceSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
 3.7. ElevationGrid node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
 3.8. Extrusion node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
 Contents xi
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xi
 CHAPTER 7
 Event Animation and Interpolation. . . . . . . . . . . . . . . . . 187
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
 2.1. Animation as scene-graph modification . . . . . . . . . . . . . . . . . . 188
 2.2. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 188
 2.3. ROUTE connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
 2.4. Interpolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
 2.5. Constructing animation chains: 10 steps. . . . . . . . . . . . . . . . . . 192
 2.6. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
 2.6.1. X3DTimeDependentNode type . . . . . . . . . . . . . . . 196
 2.6.2. X3DSensorNode type . . . . . . . . . . . . . . . . . . . . . . 196
 2.6.3. X3DInterpolatorNode type . . . . . . . . . . . . . . . . . . 196
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
 3.1. TimeSensor node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
 3.2. ScalarInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
 3.3. ColorInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
 3.4. PositionInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
 3.5. OrientationInterpolator node. . . . . . . . . . . . . . . . . . . . . . . . . . 211
 3.6. NormalInterpolator node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
 3.7. CoordinateInterpolator node . . . . . . . . . . . . . . . . . . . . . . . . . . 215
 3.8. PositionInterpolator2D node . . . . . . . . . . . . . . . . . . . . . . . . . . 216
 3.9. CoordinateInterpolator2D node. . . . . . . . . . . . . . . . . . . . . . . . 218
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
 CHAPTER 8
 User Interactivity Nodes . . . . . . . . . . . . . . . . . . . . . . . . 221
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 222
 2.2. X3DSensorNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
 2.3. X3DPointingDeviceSensorNode type . . . . . . . . . . . . . . . . . . . . 223
 xii Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xii
 2.4. X3DTouchSensorNode type. . . . . . . . . . . . . . . . . . . . . . . . . . . 225
 2.5. X3DDragSensorNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
 2.6. X3DKeyDeviceSensorNode type . . . . . . . . . . . . . . . . . . . . . . . 226
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
 3.1. TouchSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
 3.2. PlaneSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
 3.3. CylinderSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
 3.4. SphereSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
 3.5. KeySensor node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
 3.6. StringSensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
 CHAPTER 9
 Event Utilities and Scripting . . . . . . . . . . . . . . . . . . . . . 249
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 250
 2.2. X3DScriptNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
 2.3. X3DSequencerNode type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
 2.4. X3DTriggerNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
 3. Node Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
 3.1. BooleanFilter node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
 3.2. BooleanSequencer node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
 3.3. BooleanToggle node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
 3.4. BooleanTrigger node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
 3.5. IntegerSequencer node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
 3.6. IntegerTrigger node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
 3.7. TimeTrigger node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
 3.8. Script node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
 Contents xiii
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xiii
 CHAPTER 10
 Geometry Nodes, Part 3: Geometry2D Nodes . . . . . . . . . . 279
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 280
 2.2. Common geometry fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
 3.1. Arc2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
 3.2. ArcClose2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
 3.3. Circle2D node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
 3.4. Disk2D node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
 3.5. Polyline2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
 3.6. Polypoint2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
 3.7. Rectangle2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
 3.8. TriangleSet2D node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
 CHAPTER 11
 Lighting and Environment Nodes . . . . . . . . . . . . . . . . . . 299
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 302
 2.2. X3DLightNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
 2.3. X3DBackgroundNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
 3.1. DirectionalLight node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
 3.2. Headlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
 3.3. PointLight node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
 3.4. SpotLight node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
 3.5. Background node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
 3.6. TextureBackground node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
 3.7. Fog node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
 xiv Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xiv
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
 CHAPTER 12
 Environment Sensor and Sound Nodes . . . . . . . . . . . . . . 327
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
 2.1. X3DEnvironmentSensorNode type. . . . . . . . . . . . . . . . . . . . . . 328
 2.2. X3DNetworkSensorNode type. . . . . . . . . . . . . . . . . . . . . . . . . 329
 2.3. X3DSoundNode type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 2.4. X3DSoundSourceNode type . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 3.1. LoadSensor node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
 3.2. ProximitySensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
 3.3. VisibilitySensor node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
 3.4. Sound node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
 3.5. AudioClip node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
 CHAPTER 13
 Geometry Nodes, Part 4: Triangles and Quadrilaterals . . . 353
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
 2.1. Purpose and common functionality . . . . . . . . . . . . . . . . . . . . . 354
 2.2. Abstract node types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
 2.2.1. X3DColorNode, X3DCoordinateNode,
 X3DGeometricPropertyNode, X3DGeometryNode,
 and X3DNormalNode types . . . . . . . . . . . . . . . . . 355
 2.2.2. X3DComposedGeometryNode type . . . . . . . . . . . 356
 2.3. Common geometry fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
 Contents xv
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xv
 3. Node descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
 3.1. Normal node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
 3.2. TriangleSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
 3.3. TriangleFanSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
 3.4. TriangleStripSet node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
 3.5. QuadSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
 3.6. IndexedTriangleSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
 3.7. IndexedTriangleFanSet node . . . . . . . . . . . . . . . . . . . . . . . . . . 373
 3.8. IndexedTriangleStripSet node. . . . . . . . . . . . . . . . . . . . . . . . . . 375
 3.9. IndexedQuadSet node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
 4.3. Next chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
 CHAPTER 14
 Creating Prototype Nodes . . . . . . . . . . . . . . . . . . . . . . . 381
 1. What this chapter covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
 2. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
 2.1. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
 2.2. Strong typing of nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
 2.3. Comparison with Inline node. . . . . . . . . . . . . . . . . . . . . . . . . . 383
 2.4. Syntax alert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
 3. Functional descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
 3.1. Prototype declarations: ProtoDeclare . . . . . . . . . . . . . . . . . . . . 384
 3.2. External prototype declarations: ExternProtoDeclare . . . . . . . . 394
 3.3. Prototype instances: ProtoInstance . . . . . . . . . . . . . . . . . . . . . . 397
 4. Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
 4.1. Key ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
 4.2. Related nodes and concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
 Afterword: Getting Involved . . . . . . . . . . . . . . . . . . . . . 401
 Learning X3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
 Building Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
 xvi Contents
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xvi
 Creating Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
 X3D Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
 Other Web3D Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
 APPENDICES
 A. Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
 Web Site Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
 B. Help: X3D/VRML Examples . . . . . . . . . . . . . . . . . . . . . 405
 Applications, Players, and Plugins for X3D/VRML Viewing . . . . 405
 Web3D Consortium Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
 Not (yet) Web3D Consortium Members . . . . . . . . . . . . . . . . . . . . . . 406
 Authoring Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
 Authoring Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
 Conversion and Translation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 407
 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
 PowerPoint Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
 C. X3D Scene Authoring Hints . . . . . . . . . . . . . . . . . . . . 411
 Authoring practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
 Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
 Dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
 Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
 Inline and Prototype Subscenes. . . . . . . . . . . . . . . . . . . . . . . . . . 416
 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
 meta tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
 Contents xvii
 Brutzman-FM.qxd 2:28:07 08:51 PM Page xvii
 xviii Contents
 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
 Naming of Multiple Similar Autogenerated Files. . . . . . . . . . . . . . . . 419
 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
 URL Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
 Viewpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
 List of References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
 |  
					| Côte titre : | Fs/19854 | 
 |  |