to X3D Resources
  

X3D for Web Authors Examples Archive

  
to Web3D Consortium home page

X3D for Web Authors is an introductory reference textbook for learning Extensible 3D (X3D) Graphics.

Author support includes the X3D-Edit authoring tool, X3D Tooltips, X3D Validator, complete course slidesets and course video lessons for learning X3D (also YouTube course video archive) , plus this open-source scene archive. Free book download in ACM Digital Library is available for ACM and SIGGRAPH members.


X3D Resources 16 Chapters, 260 Models Archive Information and Zip

Chapter 01 - Technical Overview Chapter 02 - Geometry Primitives Chapter 03 - Grouping
Chapter 04 - Viewing Navigation Chapter 05 - Appearance Material Textures Chapter 06 - Geometry Points Lines Polygons
Chapter 07 - Event Animation Interpolation Chapter 08 - User Interactivity Chapter 09 - Event Utilities Scripting
Chapter 10 - Geometry 2D Chapter 11 - Lighting Environmental Effects Chapter 12 - Environment Sensor Sound
Chapter 13 - Geometry Triangles Quadrilaterals Chapter 14 - Prototypes Chapter 15 - Metadata
Kelp Forest Exhibit    

  Chapter Summaries   0 X3D Scenes
  Chapter Summary Chapter 01 - Technical Overview Chapter Viewpoint Slideshow
X3D for Web Authors book
X3d for Web Authors video course is online

Introductory slidesets for Getting Started and X3D-Edit Update describe good ways to begin learning and authoring X3D. The supporting Chapter 1 slideset, course videos (NPS, YouTube) and the complete Chapter 1 Technical Overview for X3D for Web Authors are available online via X3dGraphics.com. All of these examples were created using the X3D-Edit authoring tool.

A published paper "Computer Graphics Teaching Support using X3D" describes how X3D is used to teach introductory 3D in university courses. Together these assets can be used to learn X3D.

Also available: X3D Scene Authoring Hints for Authoring Practices, Credits, Dates, License, meta Tags and Naming Conventions.

X3D for Web Authors book
X3D Profiles define levels of common functionality
to top
  Chapter Summary Chapter 02 - Geometry Primitives Chapter Viewpoint Slideshow

Geometry Primitives

Shape nodes can contain one geometry node and one Appearance node. Geometry primitives include the Box, Cone, Cylinder, Sphere and Text nodes. Each is placed individually inside a Shape node.

The supporting Chapter 2 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

to top
  Chapter Summary Chapter 03 - Grouping Chapter Viewpoint Slideshow
Coordinate Axes (North South East West)

Grouping nodes help to organize the scene graph, can establish relative coordinate systems, and can contain most other kinds of X3D nodes.

Grouping nodes include the Anchor, Billboard, Collision, Group, StaticGroup, Switch and Transform nodes. The Inline node is also similar since it adds nodes into the current scene that loaded from another X3D scene, retrieved via a local or online url address.

The supporting Chapter 3 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints for Coordinate Systems, Inline Scenes, Scale Factors and URL Links.

to top
  Chapter Summary Chapter 04 - Viewing Navigation Chapter Viewpoint Slideshow
Anchor comparison, view from front

Viewpoint nodes are the primary means for users to explore a scene. NavigationInfo nodes enable different user-interaction styles (FLY, WALK, EXAMINE etc.) as appropriate. Only one Viewpoint and one NavigationInfo node can each be active a time, with order of selection controlled via a binding stack.

The supporting Chapter 4 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints: Viewpoints and Navigation.

Anchor comparison, oblique view from right side
to top
  Chapter Summary Chapter 05 - Appearance Material Textures Chapter Viewpoint Slideshow
FillProperties Hatch Style LineProperties Linetype Options MovieTexture Authoring Options ImageTexture Example PixelTexture Snowman

Appearance is individually associated with specific geometry within a shared Shape node. Each Appearance is a container node that can include Material, TwoSidedMaterial, ImageTexture, MovieTexture, PixelTexture and MultiTexture nodes.

Appearance can also contain property nodes for controlling rendering and texture: FillProperties, LineProperties, TextureProperties, TextureTransform and MultiTextureTransform nodes.

The supporting Chapter 5 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints for Images and Videos and URL Links.

to top
  Chapter Summary Chapter 06 - Geometry Points Lines Polygons Chapter Viewpoint Slideshow

Color Per Vertex Examples

Many kinds of geometry can be created using PointSet, LineSet, IndexedLineSet, IndexedFaceSet, ElevationGrid and Extrusion nodes. Each is placed individually inside a Shape node.

Geometric properties are controlled by Color, ColorRGBA, Coordinate, CoordinateDouble, Normal, TextureCoordinate, TextureCoordinateGenerator and MultiTextureCoordinate nodes.

The supporting Chapter 6 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints: Meshes.

to top
  Chapter Summary Chapter 07 - Event Animation Interpolation Chapter Viewpoint Slideshow

Dolphin Wireframe: Coordinate Interpolator Morphing

Event animation and interpolation is accomplished by ROUTE connections that pass events between nodes. Strong typing requirements ensure that only valid values are allowed to modify the scene graph.

The TimeSensor node produces output stimulus events that track the passage of time intervals using the computer clock.

Strictly typed interpolation values are produced by ScalarInterpolator, ColorInterpolator, PositionInterpolator, PositionInterpolator2D, OrientationInterpolator, NormalInterpolator, CoordinateInterpolator, and CoordinateInterpolator2D nodes.

The supporting Chapter 7 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

to top
  Chapter Summary Chapter 08 - User Interactivity Chapter Viewpoint Slideshow
User Interactivity Sensor Nodes

User interactivity is accomplished by sensing user actions, which create events that are sent via ROUTE connections.

Sensor output values are produced by LoadSensor, CylinderSensor, PlaneSensor, KeySensor and StringSensor nodes.

The supporting Chapter 8 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

to top
  Chapter Summary Chapter 09 - Event Utilities Scripting Chapter Viewpoint Slideshow
IntegerSequencer example:  Road Work Ahead!

Event utility nodes simplify data-type conversion of events when producing animation chains between nodes. These include BooleanFilter, BooleanSequencer, BooleanToggle, IntegerSequencer, IntegerTrigger, and TimeTrigger nodes.

The quick-reference sheet X3D Event Utility Nodes: Field Event Diagrams illustrates the functionality of the event utility nodes. These nodes receive and pass values that are sent via ROUTE connections.

The Script node allows authors to define new functionality produced by JavaScript (ECMAscript) or Java code. Authors can add field declarations that define accessType (inputOnly, outputOnly, initializeOnly and inputOutput) and type for each field.

The supporting Chapter 9 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints for Scripts and URL Links.

to top
  Chapter Summary Chapter 10 - Geometry 2D Chapter Viewpoint Slideshow

Geometry2D nodes simplify creation of simple planar shapes. They include the Arc2D, ArcClose2D, Circle2D, Disk2D, Polyline2D, Polypoint2D, Rectangle2D and TriangleSet2D nodes. Each is placed individually inside a Shape node.

The supporting Chapter 10 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

X3D Geometry2D nodes are planar
to top
  Chapter Summary Chapter 11 - Lighting Environmental Effects Chapter Viewpoint Slideshow
DirectionalLight Diagram    

Lights illuminate geometry in a scene relative to the user's view. Lighting nodes include DirectionalLight, PointLight, SpotLight, and the active NavigationInfo headlight (which points along the user's viewing direction).

Environmental effects include Background, TextureBackground, Fog and LocalFog. Each set of light nodes, NavigationInfo nodes, background nodes and fog nodes are bound on a separate binding stack, meaning that only one of each can be active at a time.

The supporting Chapter 11 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

to top
  Chapter Summary Chapter 12 - Environment Sensor Sound Chapter Viewpoint Slideshow
ProximitySensor Visualization

Event-producing environmental sensor nodes include LoadSensor, ProximitySensor, and VisibilitySensor. Audio nodes include Sound for aural spatialization and AudioClip for identifying sound files. MovieTexture nodes can also be used as an audio soundtrack source.

Relevant X3D Specification resources include the Environmental sensor component, Sound component and Texturing component.

The supporting Chapter 12 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints for Audio and URL Links.

Sound node coverage visualization

to top
  Chapter Summary Chapter 13 - Geometry Triangles Quadrilaterals Chapter Viewpoint Slideshow

Low-level high-performance nodes for geometry definition and fast rendering include TriangleSet, TriangleFanSet, TriangleStripSet, IndexedTriangleSet, IndexedTriangleFanSet, IndexedTriangleStripSet, QuadSet and IndexedQuadSet. Special definition rules apply to each node in order to best match underlying graphics hardware requirements. Each is placed individually inside a Shape node.

The supporting Chapter 13 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints: Meshes.

Nonplanar Polygons
to top
  Chapter Summary Chapter 14 - Prototypes Chapter Viewpoint Slideshow
MaterialModulator prototype demonstration       ViewFrustum prototype demonstration

X3D eXtensibility includes a tremendous capability: authors can create prototype declarations and instances to define new X3D nodes. This is a powerful feature that puts the full power of this graphics language in the hands of Web authors.

Prototype templates are built using ProtoDeclare or ExternProtoDeclare definitions. ProtoDeclare field definitions are found in the ProtoInterface tag, which can include multiple field declarations that define a name, initial value (if appropriate), accessType (inputOnly, outputOnly, initializeOnly and inputOutput) and type for each field. The type of each node is defined by the first node inside the ProtoBody declaration.

Copies of a new node are created by name with ProtoInstance nodes. Default values for ProtoInstance fields can be overridden with fieldValue initializations. A ProtoInstance node can replace any other node in the scene graph having the same node type.

The supporting Chapter 14 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

Also available: X3D Scene Authoring Hints for Inline Scenes and Prototype Templates and URL Links.

to top
  Chapter Summary Chapter 15 - Metadata Chapter Viewpoint Slideshow
Metadata (book with question mark)

Metadata is about forms of data relating to other data. For example, metadata can provide a variety of information regarding a document such as author, date revised, relevant key words, etc. As another example, metadata might annotate X3D CAD geometry to provide key references such as part numbers, documentation references, inventory links, etc.

Simple name=value paired information can be provided in document <head> and <meta> tags, just like in HTML. Furthermore, typed metadata information can annotate any X3D node, either for use offline or for queries within an active scene graph at run time. X3D metadata nodes include MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString, and MetadataSet (which contains a collection of other X3D Metadata nodes).

The supporting Chapter 15 Metadata Information from X3D for Web Authors is available online via X3dGraphics.com. Also available:

to top
  Chapter Summary Kelp Forest Exhibit Chapter Viewpoint Slideshow
Kelp Forest Exhibit

The Kelp Forest Exhibit is a large student-produced project that illustrates how X3D can build and integrate a large collection of individual Web-based models. The overall scene that integrates all these individual X3D models is Kelp Forest Main.

The paper Teaching 3D Modeling and Simulation: Virtual Kelp Forest Case Study describes how this group effort was accomplished. Comprehensive modeling efforts such as the Kelp Forest Exhibit provide an excellent way to organize course work and student projects.

to top

to top Online at
http://X3dGraphics.com/examples/X3dForWebAuthors

Master source code archive is under subversion control at
http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForWebAuthors

Point of contact:
Don Brutzman (brutzman at nps.edu)
README.txt
Open-Source License
Validate XHTML 1.1 Content Catalog XML
Autogenerated 5 December 2016

Also available: current and archived nightly builds and distributions of these examples, all published under an Open-Source License.

The X3D Resources: Examples page and Savage Developers Guide provide more information about the production of this archive.