X3DX3D Graphics logo
buy now
Buy Now!

Table of Contents

  1. Technical Overview
    1. Introduction
    2. Concepts
      1. Historical Background: VRML, ISO, and the Web3D Consortium
      2. X3D browsers
      3. X3D specification
      4. Scene graph
      5. File structure
        1. File header
        2. X3D header statement
        3. Profile statements
        4. Component statements
        5. Meta statements
        6. Scene graph body
      6. Field types
      7. Node types
      8. File encodings: XML, Classic VRML, and Compressed
        1. Extensible Markup Language (XML) encoding: .x3d files
          1. XML motivations
          2. XML design for X3D
          3. XML validation
          4. Classic VRML encoding: .x3dv files
          5. Binary encoding: .x3db files
        2. Hello World example using X3D-Edit and an X3D browser
    3. Summary
      1. Key ideas
      2. Next chapters
  2. Geometry Nodes, Part 1: Primitives
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Common fields
        1. solid
      3. Abstract node types
        1. X3DShapeNode
        2. X3DGeometryNode
        3. X3DFontStyleNode
      4. Hints and warnings
    3. Node descriptions
      1. Shape node
        1. Hints and warnings
      2. Box node
        1. size
        2. Hints and warnings
      3. Cone node
        1. bottomRadius and height
        2. bottom and side
        3. Hints and warnings
      4. Cylinder node
        1. radius and height
        2. bottom, size, and top
        3. Hints and warnings
      5. Sphere node
        1. radius
        2. Hints and warnings
      6. Text node
        1. string
        2. length
        3. maxExtent
        4. Hints and warnings
      7. FontStyle node
        1. family
        2. justify
        3. language
        4. style
        5. horizontal, leftToRight, and topToBottom
        6. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  3. Grouping Nodes
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Units of measurement and coordinate systems
      3. Coordinate system details
        1. Which way is up?
        2. "Right-hand rule" rules!
        3. Orientation
      4. DEF and USE
      5. Abstract node types
        1. X3DChildNode
        2. X3DBoundedObject
          1. bboxSize
          2. bboxCenter
          3. Hints and warnings
        3. X3DGroupingNode
          1. children
          2. addChildren, removeChildren
          3. Hints and warnings
        4. X3DInfoNode
          1. Hints and warnings
    3. Node descriptions
      1. Group and StaticGroup nodes
      2. Transform node
        1. translation
        2. rotation
        3. center
        4. scale
        5. scaleOrientation
        6. Order of translation, rotation, scaling, and center operations
        7. Hints and warnings
      3. Inline node
        1. Uniform resource location (url) field
        2. load
        3. Hints and warnings
      4. LOD node
        1. center
        2. forceTransitions
        3. level_changed
        4. range
        5. Hints and warnings
      5. Switch node
        1. whichChoice
        2. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related node and concepts
      3. Next chapter
  4. Viewing and Navigation
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Viewing model
      3. Navigation Model
      4. Collision detection and terrain following
      5. Abstract node types
        1. X3DBindableNode
          1. set_bind
          2. bindTime
          3. isBound
          4. Hints and warnings
    3. Node descriptions
      1. Viewpoint node
        1. description
        2. position
        3. orientation
        4. fieldOfView
        5. jump
        6. centerOfRotation
        7. Hints and warnings
      2. NavigationInfo node
        1. type
        2. speed
        3. headlight
        4. transitionType
        5. visibilityLimit
        6. avatarSize
        7. Hints and warnings
      3. Anchor node
        1. description
        2. url
        3. parameter
        4. Hints and warnings
      4. Billboard node
        1. axisOfRotation
        2. Hints and warnings
      5. Collision node
        1. collideTime
        2. proxy
        3. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  5. Appearance, Material, and Textures
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
        1. Texture coordinates
      2. Abstract node types
        1. X3DAppearanceNode and X3DAppearanceChildNode
        2. X3DMaterialNode
        3. X3DTextureNode, X3DTextureCorodinateNode, and X3DTextureTransformNode
        4. X3DTexture2DNode
        5. repeatS and repeatT
        6. X3DTextureTransform2DNode
    3. Node descriptions
      1. Appearance node
        1. Hints and warnings
      2. Material node
        1. ambientIntensity
        2. diffuseColor
        3. emissiveColor
        4. specularColor and shininess
        5. transparency
        6. Hints and warnings
      3. FillProperties node
        1. filled
        2. hatched
        3. hatchColor
        4. hatchStyle
        5. Hints and warnings
      4. LineProperties node
        1. applied
        2. linewidthScaleFactor
        3. linetype
        4. Hints and warnings
      5. ImageTexture node
        1. url
        2. Hints and warnings
      6. MovieTexture node
        1. loop
        2. speed
        3. startTime and stopTime
        4. pauseTime and resumeTime
        5. isActive and isPaused
        6. duration_changed and elapsedTime
        7. Hints and warnings
      7. PixelTexture node
        1. SFImage Type
        2. image
        3. Hints and warnings
      8. TextureTransform node
        1. translation
        2. center and rotation
        3. scale
        4. Hints and warnings
      9. TextureCoordinate node
        1. point
        2. Hints and warnings
      10. TextureCoordinateGenerator node
        1. mode and parameter
        2. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  6. Geometry Nodes, Part 2: Points, Lines, and Polygons
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Common geometry fields
        1. ccw
        2. colorPerVertex
        3. convex
        4. creaseAngle
        5. Index fields: colorIndex, coordIndex, and normalIndex
        6. Hints and warnings
    3. Node descriptions
      1. Color and ColorRGBA nodes
        1. Hints and warnings
      2. Coordinate and CoordinateDouble nodes
        1. Hints and warnings
      3. PointSet node
        1. Hints and warnings
      4. IndexedLineSet node
        1. Hints and warnings
      5. LineSet node
        1. Hints and warnings
      6. IndexedFaceSet node
        1. Hints and warnings
      7. ElevationGrid node
        1. Hints and warnings
      8. Extrusion node
        1. beginCap and endCap
        2. Extrusion examples
        3. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  7. Event Animation and Interpolation
    1. What this chapter covers
    2. Concepts
      1. Animation as scene-graph modification
      2. Purpose and common functionality
      3. ROUTE connections
        1. Hints and warnings
      4. Interpolation
      5. Constructing animation chains: 10 steps
      6. Abstract node types
        1. X3DTimeDependentNode type
        2. X3DSensorNode type
        3. X3DInterpolatorNode type
          1. key and keyValue
          2. set_fraction and value_changed
          3. Similar functionality: sequencer nodes
          4. Hints and warnings
    3. Node descriptions
      1. TimeSensor node
      2. enabled
        1. startTime
        2. stopTime
        3. cycleInterval
        4. loop
        5. cycleTime
        6. isActive
        7. isPaused
        8. pauseTime
        9. resumeTime
        10. elapsedTime
        11. Hints and warnings
      3. ScalarInterpolator node
        1. key and keyValue
        2. Hints and warnings
      4. ColorInterpolator node
        1. Example
        2. key and keyValue
        3. Hints and warnings
      5. PositionInterpolator Node
        1. key and keyValue
        2. Hints and warnings
      6. OrientationInterpolator node
        1. key and keyValue
        2. Hints and warnings
      7. NormalInterpolator node
        1. Hints and warnings
      8. CoordinateInterpolator node
        1. key and keyValue
        2. Hints and warnings
      9. PositionInterpolator2D node
        1. key and keyValue
        2. Hints and warnings
      10. CoordinateInterpolator2D node
        1. key and keyValue
        2. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related node and concepts
      3. Next chapter
  8. User Interactivity Nodes
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. X3DSensorNode type
        1. enabled
        2. isActive
        3. Hints and warnings
      3. X3DPointingDeviceSensorNode type
        1. description
        2. isOver
        3. Hints and warnings
      4. X3DTouchSensorNode type
      5. X3DDragSensorNode type
        1. offset and autoOffset
        2. trackPoint_changed
        3. Hints and warnings
      6. X3DKeyDeviceSensorNode type
        1. Hints and warnings
    3. Node descriptions
      1. TouchSensor node
        1. touchTime
        2. Hints and warnings
      2. PlaneSensor node
        1. minPosition and maxPosition
        2. offset
        3. trackPoint_changed
        4. translation_changed
        5. Hints and warnings
      3. CylinderSensor node
        1. minAngle
        2. maxAngle
        3. diskAngle
        4. offset
        5. trackPoint_changed
        6. rotation_changed
        7. Hints and warnings
      4. SphereSensor node
        1. offset
        2. trackPoint_changed
        3. rotation_changed
        4. Hints and warnings
      5. KeySensor node
        1. actionKeyPress and actionKeyRelease
        2. altKey, controlKey, and shiftKey
        3. keyPress and keyRelease
        4. isActive
        5. Hints and warnings
      6. StringSensor node
        1. deletionAllowed
        2. enteredText
        3. finalText
        4. isActive
        5. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  9. Event Utilities and Scripting
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. X3DScriptNode type
      3. X3DSequencerNode type
        1. next and previous
        2. key and keyValue
        3. set_fraction and value_changed
        4. Hints and warnings
      4. X3DTriggerNode type
        1. Hints and warnings
    3. Node descriptions
      1. BooleanFilter node
        1. Set)Boolean
        2. inputTrue and inputFalse
        3. inputNegate
        4. Hints and warnings
      2. BooleanSequencer node
        1. Hints and warnings
      3. BooleanToggle node
      4. BooleanTrigger node
      5. IntegerSequencer node
      6. IntegerTrigger node
      7. TimeTrigger node
      8. Script node
        1. url
        2. directOutput
        3. mustEvaluate
        4. initialize() and shutdown() methods
        5. prepareEvents() method
        6. eventsProcessed() method
        7. Browser functions
        8. Script control: event passing, directOutput, and SAI
        9. Execution model and event cascade
        10. Additional Script node execution semantics
        11. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  10. Geometry Nodes, Part 3: Geometry2D Nodes
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Common geometry fields
    3. Node descriptions
      1. Arc2D node
        1. Example
        2. Hints and warnings
      2. ArcClose2D node
        1. Example
        2. Hints and warnings
      3. Circle2D node
        1. Example
        2. Hints and warnings
      4. Disk2D node
        1. Examples
        2. Hints and warnings
      5. Polyline2D node
        1. Examples
        2. Hints and warnings
      6. Polypoint2D node
        1. Examples
        2. Hints and warnings
      7. Rectangle2D node
        1. Examples
      8. TriangleSet2D node
        1. Examples
        2. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  11. Lighting and Environment Nodes
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Lighting
        1. Background and fog effects
      3. X3DLightNode type
        1. ambientIntensity and intensity
        2. color
        3. global
        4. on
        5. Hints and warnings
      4. X3DBackgroundNode type
        1. groundAngle and skyAngle
        2. Hints and warnings
    3. Node descriptions
      1. DirectionalLight node
        1. direction
        2. Hints and warnings
      2. Headlight
      3. PointLight node
        1. attenuation
        2. location
        3. radius
        4. Hints and warnings
      4. Spotlight node
        1. attenuation
        2. beamWidth and cutOffAngle
        3. direction
        4. location
        5. radius
        6. Hints and warnings
      5. Background node
        1. backUrl, frontUrl, leftUrl, rightUrl, bottomUrl, topUrl
        2. Hints and warnings
      6. TextureBackground node
        1. backTexture, frontTexture, leftTexture, rightTexture, bottomTexture, topTexture
        2. transparency
        3. Hints and warnings
      7. Fog node
        1. color
        2. fogType
        3. visibilityRange
        4. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  12. Environmental Sensor and Sound Nodes
    1. What this chapter covers
    2. Concepts
      1. X3DEnvironmentSensorNode type
        1. center and size
        2. isActive and enabled
        3. enterTime and exitTime
        4. Hints and warnings
      2. X3DNetworkSensorNode type
      3. X3DSoundNode type
      4. X3DSoundSourceNode type
    3. Node descriptions
      1. LoadSensor node
        1. isActive
        2. timeout
        3. watchList
        4. isLoaded and loadTime
        5. progress
        6. Hints and warnings
      2. ProximitySensor node
        1. center and size
        2. orientation_changed
        3. position_changed
        4. Examples
        5. Hints and warnings
      3. VisibilitySensor node
        1. Hints and warnings
      4. Sound node
        1. Sound attenuation and 3D spatialization
        2. location and direction
        3. intensity
        4. priority
        5. spatialize
        6. minFront and minBack
        7. maxFront and maxBack
        8. source
        9. Hints and warnings
      5. AudioClip node
        1. description
        2. isActive
        3. loop
        4. url
        5. pitch
        6. duration_changed
        7. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  13. Geometry Nodes, Part 4: Triangles and Quadrilaterals
    1. What this chapter covers
    2. Concepts
      1. Purpose and common functionality
      2. Abstract node types
        1. X3DColorNode, X3DCoordinateNode, X3DGeometricPropertyNode, X3DGeometryNode, and X3DNormalNode types
        2. X3DComposedGeometryNode type
      3. Common geometry fields
        1. Two-sided rendering versus backface culling, using the ccw and solid fields
        2. Ordering or indexing of vertices, index, and set_index fields
        3. colorPerVertex
        4. normalPerVertex
        5. Hints and warnings
    3. Node descriptions
      1. Normal node
        1. Hints and warnings
      2. TriangleSet node
      3. TriangleFanSet node
        1. fanCount
        2. Hints and warnings
      4. TriangleStripSet node
        1. stripCount
        2. Hints and warnings
      5. QuadSet node
        1. Hints and warnings
      6. IndexedTriangleSet node
        1. Hints and warnings
      7. IndexedTriangleFanSet node
        1. Hints and warnings
      8. IndexedTriangleStripSet node
        1. Hints and warnings
      9. IndexedQuadSet node
        1. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts
      3. Next chapter
  14. Creating Prototype Nodes
    1. What this chapter covers
    2. Concepts
      1. Extensibility
      2. Strong typing of nodes
      3. Comparison with Inline node
    3. Functional descriptions
      1. Prototype declarations: ProtoDeclare
        1. Naming considerations
        2. ProtoInterface and field definitions
        3. XML attributes for appinfo, documentation
        4. Field definitions for accessType and type
        5. ProtoBody definition
        6. IS connections between ProtoBody fields and ProtoInterface fields
        7. Hints and warnings
      2. External prototype declarations: ExternProtoDeclare
        1. url considerations
        2. Hints and warnings
      3. Prototype instances: ProtoInstance
        1. fieldValue definitions
        2. Setting node type with containerField
        3. Converting existing content into a prototype declaration
        4. Hints and warnings
    4. Summary
      1. Key ideas
      2. Related nodes and concepts

Afterword: Getting Involved
  1. Learning X3D
  2. Building Software
  3. Creating Content
  4. X3D Development
  5. Other Web3D Activities

Appendices
  1. Web site Description
  2. Help: X3D/VRML Examples
    1. Applications, Players, and Plugins for X3D/VRML Viewing
      1. Web3D Consortium Members
      2. Not (yet) Web3D Consortium Members
      3. Authoring Tools
      4. Authoring Support
      5. Examples
      6. License
    2. PowerPoint Support
    3. References
    4. Contact
  3. X3D Scene Authoring Hints
    1. Authoring practices
    2. Credits
    3. Dates
    4. HTML
    5. Images
    6. Inline and Prototype Subscenes
    7. License
    8. meta tags
    9. Naming Conventions
      1. Naming of Multiple Similar Autogenerated Files
    10. Scripts
    11. URL Links
    12. Viewpoints
    13. List of References

Portions of this work are from the book, X3D, by Don Brutzman and Leonard Daly, published by Morgan Kaufmann Publishers, Copyright 2007 Elsevier, Inc. All rights reserved.