X3D Resources
  

Extensible 3D (X3D) Graphics: Basic Examples Archive

  
Web3D Consortium home page

This archive provides a wide variety of basic open-source examples that show how to design and build X3D scenes. Many of these scenes have been used for confirmation, development and testing of essential node capabilities in X3D.


X3D Resources     Javadoc for translated java source 27 Chapters, 783 X3D Models .zip archive     Archive Information

CAD Chemical Markup Language course
development Distributed Interactive Simulation Experimental Binary Compression
External Authoring Interface Followers Geospatial
Humanoid Animation Lattice Xvl Medical
Networking NURBS Points
Rigid Body Physics Script Conformance Security
Shaders Student Projects Units
Universal Media Materials Universal Media Panoramas Volume Rendering
VRML 97 Specification Web 3D Outreach X3D Specifications


  27 Chapter Summaries   783 X3D Models
 Chapter SummaryCAD
CAD Teapot

Computer Aided Design (CAD) aids in the creation, modification, analysis, or optimization of model design, with specialized support provided by the X3D CADGeometry component.

The Computer Aided Design (CAD) examples illustrate simple concepts provided by the X3D CAD Geometry Component and CADInterchange Profile. Significant additional work is being pursued by the X3D CAD Working Group and is documented on the X3D CAD Working Group Wiki.

A supporting CAD chapter slideset is available online via X3dGraphics.com.

Technical capabilities are summarized by the SC-4 TC-184 Visualization Requirements For X3D CAD report, published May 2009.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryChemical Markup Language

Chemical Markup Language (CML)

Chemical Markup Language (CML) provides support for most chemistry including molecules, compounds, reactions, spectra, crystals and computational chemistry.

These examples show how to visualize Chemical Markup Language (CML) molecular definitions using previously designed X3D model prototypes by using an XSLT stylesheet transformations. This process is described in the paper "Stylesheet Transformations for Interactive Visualization: Towards a Web3D Chemistry Curricula," originally published in Proceedings of Web3D 2003 Symposium, St. Malo France, 9-12 March 2003, ACM Press.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter Summarycourse
Becky's Road Overpass, sixth grade project

These scenes have been used in X3D course materials.

These are simple example scenes that are useful for teaching and course work. Some have been developed by students learning X3D. A much larger set of scenes and slidesets have been developed as the X3D for Web Authors Examples Archive.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter Summarydevelopment
Additive Subtractive Light example

These scene examples support specification development, player implementations, and demonstration of exemplar X3D capabilities.

These scenes help to demonstrate trial technology and develop new nodes for the X3D Specifications. They support the efforts of the X3D Working Group.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryDistributed Interactive Simulation
DIS Gimbals Example with F18

Distributed Interactive Simulation (DIS) is an IEEE standard for conducting real-time platform-level gaming across multiple host computers and is used worldwide, especially by military organizations but also by other agencies such as those involved in space exploration and medicine.

The IEEE Distributed Interactive Simulation (DIS) networking-protocol standard can be used for synchronized virtual environments and Live, Virtual, Constructive (LVC) simulations. Ongoing development work and DIS details are maintained by the Simulation Interoperability Standards Organization (SISO) which includes the DIS Product Development Group (PDG).

X3D nodes that include DIS support are EspduTransform, DISEntityManager, DISEntityTypeMapping, ReceiverPdu, SignalPdu and TransmitterPdu.

A supporting DIS chapter slideset is available online via X3dGraphics.com. Related work includes X3D-Edit DIS Support as well as the Open-DIS software library, which provides open-source implementations of DIS in C++, C#, Java, Objective-C and JavaScript.

Warning: the Distributed Interactive Simulation (DIS) component in not widely supported. Further work is welcome.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryExperimental Binary Compression
Eight.x3d mesh model used for compression tests

Experimental Binary Compression algorithm models demonstrate the potential of geometric compression techniques.

These developmental examples illustrate how geometric compression based on text-based ASCII encodings might be integrated into X3D scenes via Prototype nodes that encapsulate Script processing. The file-size reduction technique Coding Polygon Meshes as Compressable ASCII by Martin Isenburg and Jack Snoeyink is documented in award-winning papers presented at the Web3D 2002 and 2003 Symposia. A Shout3D implementation demonstration is also available.

Further work on the X3D Compressed Binary Encoding (CBE) can be found at X3D Binary Compression Capabilities and Plans wiki page.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryExternal Authoring Interface

Virtual Reality Modeling Language (VRML97)

VRML97 External Authoring Interface (EAI) was used to pass events from HTML scripts into VRML97 scene scripts.

These scripting examples illustrate how to use the original External Authoring Interface (EAI) in the VRML97 specification. It allows scripts placed in an external HTML page to communicate with a VRML97 scene, using either Java or ECMAScript .

These HTML scripting techniques were later unified with Script syntax inside the scene as the X3D Scene Authoring Interface (SAI).

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryFollowers
Follower algorithm

The X3D Followers component supports specialized linear interpolation for various data types to achieve smooth behavior animation.

These examples illustrate how to use Chaser and Damper nodes, which are defined in the Followers component of the X3D specification. Transitions are computed at run time to produce events that smoothly change from an initial value to a goal value.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryGeospatial
Trips Around World by Martin Reddy

The X3D Geospatial component provides support for geographic and geospatial applications that includes the ability to utilize double-precision geospatial coordinates and to handle large multi-resolution terrain databases.

These examples illustrate capabilities provided by the X3D Abstract Specification Geospatial Component. Significant additional work is being pursued by the X3D Earth Working Group Executive Summary and is documented on the X3D Earth Working Group Wiki.

The supporting Geospatial Component - X3D Earth chapter slideset is available online via X3dGraphics.com.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryHumanoid Animation
Humanoid Animation (HAnim)

Humanoid Animation (HAnim) supports composed modeling of skeletons and skin, using either simple (cartoon) or highly detailed (anatomically correct) fidelity.

These Humanoid Animation (HAnim) examples support the ISO Humanoid Animation (HAnim) Specification with a corresponding specification for ISO X3D Abstract Specification HAnim component.

The HAnim Working Group Executive Summary summarizes current capabilities. Prior original efforts can be found online at hanim.org. Significant additional work is being considered by renewed efforts documented on the HAnim Working Group Wiki. Tool builders may benefit from using convenient tables of enumeration values extracted from the HAnim Specification.

A supporting HAnim chapter slideset is available online via X3dGraphics.com. Related work appears in the Medical examples.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryLattice Xvl
Lattice technology

LatticeXvl was an experimental parametric geometry approach that was not adopted into the X3D standard. These nodes nevertheless demonstrate extensibility techniques for integrating new capabilities using X3D DOCTYPE (DTD). The Xvl nodes are merely experimental: not approved by the X3D Abstract Specification, not in the X3D XML Schema, and not in the X3D Unified Object Model (X3DUOM).

The LatticeXvl examples do show how Lattice technology from the XVL3D company was integratable as a commercial extension within X3D. This technique is repeatable. The extension approach to XML DTD validation has been maintained through each version of X3D, and is documented further in the actual X3D DTDs and Schemas.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryMedical
Body Skin IndexedFaceSet (IFS) by NIST

The X3D MedicalInterchange profile is designed for Exchange of polygonal geometry, volumetric data and accompanying documentation between medical imaging systems. Potential implementation includes industry-specific applications that use X3D as an interchange format, but link to proprietary databases and hardware.

These examples support the work of the Web3D Medical (MedX3D) Working Group. Ongoing work is documented on the Medical Working Group Wiki.

Related work appears in the Humanoid Animation examples and the National Institutes of Health (NIH) 3D Print Exchange.

Bones All Skeleton
top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryNetworking
Network Rerouting over Alternate Routes

This directory includes several experiments with X3D Networking.

Long-running efforts have attempted to define and build a new NetworkSensor node for X3D. Although useful design progress was made by the X3D working group, this work did not reach closure because author-written implementations did not appear to be possible using X3D prototypes encapsulating sandbox-restricted JavaScript network access from within an HTML browser. Further implementation and evaluation work might someday be pursued using an X3D browser implementation.

Examples of additional networking techniques for X3D can also be added to this archive. Of related interest: the Distributed Interactive Simulation (DIS) examples in this archive, which include native X3D support for the IEEE Distributed Interactive Simulation (DIS) networking-protocol standard.

top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryNURBS
Fred the Bunny

Non-Uniform Rational B-Spline (NURBS) provide a parametric mathematical model for generating and representing smooth curves and surfaces.

Non-Uniform Rational B-Spline (NURBS) provide a convenient and efficient manner to generate curved lines and surfaces which can be smooth at any viewing distance. Since these surfaces are generated parametrically, only a small amount of data need be provided for describing complex surfaces. These examples support the X3D NURBS component.

These capabilities hold significant potential value for use by the Computer Aided Design (CAD) and Medical working groups.
top

Chapter Viewpoint Slideshow

Javadoc for translated java source

 Chapter SummaryPoints