X3D Resources
  

X3D for Web Authors (X3D4WA) Examples Archive

  
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. Supporting textbook in listed ACM Digital Library. Also available: companion examples archive X3D for Advanced Modeling (X3D4AM).


X3D Resources     Javadoc for translated java source 16 Directories, 271 X3D Models Open-Source License     .zip archive     Archive Information

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    

  16 Directory Summaries   271 X3D Models
 Directory SummaryChapter 01 Technical Overview
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

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 02 Geometry Primitives

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. Text nodes are further configured by FontStyle nodes.

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

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 03 Grouping
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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 04 Viewing Navigation
Anchor bookmarked-Viewpoint comparison, view from front

Authors can design scenes to help users navigate to Viewpoints of interest, and also create user-selectable geometry links using an Anchor (just like HTML).

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 bookmarked-Viewpoint comparison, oblique view from right side

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 05 Appearance Material Textures
FillProperties Hatch Style LineProperties Linetype Options MovieTexture Authoring Options ImageTexture Example PixelTexture Snowman

Appearance defines how color, material and texture images are applied as the visual characteristics of a shape.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 06 Geometry Points Lines Polygons

Color Per Vertex Examples

Numerous X3D nodes are available for presenting points, lines, and a variety of polygonal meshes.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 07 Event Animation Interpolation

Dolphin Wireframe: Coordinate Interpolator Morphing

Event values can be generated through TimeSensor, ROUTE and interpolator chains to create animation effects in a scene graph. 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. Event animation and interpolation is accomplished by ROUTE connections that pass events between nodes.

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

Authors can use a 10-step algorithm checklist (with example diagram) as an event-animation design pattern that helps build consistent event-routing chains. The supporting Chapter 7 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 08 User Interactivity
User Interactivity Sensor Nodes

A variety of sensors detect user interactivity with a scene, allowing authors to define animation responses in a device-independent, display-independent way.

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

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

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

Authors can use a 10-step algorithm checklist (with example diagram) as an event-animation design pattern that helps build consistent event-routing chains. The supporting Chapter 7 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 09 Event Utilities Scripting
IntegerSequencer example:  Road Work Ahead!

Event-utility nodes allow conversion and connection of different data types via ROUTEs, while Script nodes allow authors to write their own event-handling code for special scene capabilities.

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 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.

Authors can use a 10-step algorithm checklist (with example diagram) as an event-animation design pattern that helps build consistent event-routing chains. The supporting Chapter 7 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 10 Geometry 2D

Geometry2D nodes simplify creation of simple planar shapes, which can be helpful for billboards and user interfaces.

Geometry2D nodes simplify creation of simple planar shapes. Planar geometry includes the Arc2D, ArcClose2D, Circle2D, Disk2D, Polyline2D, Polypoint2D, Rectangle2D and TriangleSet2D nodes. Each Geometry2D node 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

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 11 Lighting Environmental Effects
DirectionalLight Diagram    

Light nodes make the appearance of geometry visible and viewable in a scene.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 12 Environment Sensor Sound
ProximitySensor Visualization

Environmental sensors detect user visibility proximity and collision, while 3D spatial sound sources can greatly improve user engagement in a scene.

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

Authors can use a 10-step algorithm checklist (with example diagram) as an event-animation design pattern that helps build consistent event-routing chains. The supporting Chapter 7 slideset and course videos (NPS, YouTube) for X3D for Web Authors are available online via X3dGraphics.com.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 13 Geometry Triangles Quadrilaterals

Triangles and quadrilaterals are fundamental geometry representations that are typically created by authoring tools to build complex polygonal meshes and shapes.

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

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 14 Prototypes
MaterialModulator prototype demonstration       ViewFrustum prototype demonstration

Prototypes let authors define a new X3D node made up of other X3D nodes, extending the language for any scenes in new and interesting ways.

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 themselves built using ProtoDeclare definitions or corresponding ExternProtoDeclare references. 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 IS and connect statements allow an internal field inside the ProtoBody to directly relay values and events via the exposed ProtoInterface field.

The node type of each ProtoDeclare 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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryChapter 15 Metadata
Metadata (book with question mark)

Metadata is used to identify the data relevant to X3D scenes and shapes, enabling the possibility of further correlation, discovery and Web-based mashups to occur.

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 (a set holder 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:

Library card catalogs provide metadata

top
Directory Viewpoint Slideshow
Javadoc for translated java source

 Directory SummaryKelp Forest Exhibit
Kelp Forest Exhibit

The Kelp Forest Exhibit from the Monterey Bay Aquarium demonstrates what students can accomplish together using VRML and X3D.

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.

top
Directory Viewpoint Slideshow
Javadoc for translated java source

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

Point of contact:
Don Brutzman (brutzman at nps.edu)
README.txt
Open-Source License
Validate XHTML 1.1 Content Catalog XML
Autogenerated 2024-09-11-07:00