X3D Resources
  

X3D for Web Authors 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. Free book download in ACM Digital Library is available for ACM and SIGGRAPH members.


X3D Resources     Javadoc for translated java source 16 Chapters, 262 X3D Models .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 Chapter Summaries   262 X3D Models
 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

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

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.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

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

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

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

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

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

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter 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

Chapter Viewpoint Slideshow

Javadoc for translated java source

Archive InformationtopOnline at

http://X3dGraphics.com/examples/X3dForWebAuthors

Master source-code model archive is under subversion control at

http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForWebAuthors

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 2017-11-17-08:00 `