to X3D Resources

Extensible 3D (X3D) Graphics: Basic Examples Archive

to Web3D Consortium home page

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

X3D Resources 27 Chapters, 776 Models Archive Information and Zip

Additive Manufacturing CAD Chemical Markup Language
course development Distributed Interactive Simulation
Experimental Binary Compression External Authoring Interface Followers
Geospatial Humanoid Animation Lattice Xvl
Medical Networking NURBS
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

  Chapter Summaries   X3D Scenes
  Chapter Details Additive Manufacturing Viewpoint Slideshow
Cleat Clamp Work has begun on creating Additive Manufacturing (AM) example models that are suitable for 3D printing. Since many Additive Manufacturing designs are produced by Computer Aided Design (CAD) engineering tools, you might also look at the CAD examples and the X3D CAD Working Group.
to top
  Chapter Details CAD Viewpoint Slideshow
CAD Teapot The Computer Aided Design (CAD) examples illustrate simple concepts provided by the X3D Abstract Specification CAD Geometry Component. 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

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

to top
  Chapter Details Chemical Markup Language Viewpoint Slideshow

Chemical Markup Language (CML)

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.

to top
  Chapter Details course Viewpoint Slideshow
Becky's Road Overpass, sixth grade project 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.
to top
  Chapter Details development Viewpoint Slideshow
Additive Subtractive Light example These scenes help to demonstrate trial technology and develop new nodes for the X3D Specifications. They support the efforts of the X3D Working Group.
to top
  Chapter Details Distributed Interactive Simulation Viewpoint Slideshow
DIS Gimbals Example with F18

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

to top
  Chapter Details Experimental Binary Compression Viewpoint Slideshow
Eight.x3d mesh model used for compression tests

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.

to top
  Chapter Details External Authoring Interface Viewpoint Slideshow

Virtual Reality Modeling Language (VRML97)

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

to top
  Chapter Details Followers Viewpoint Slideshow
Follower algorithm 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.
to top
  Chapter Details Geospatial Viewpoint Slideshow
Trips Around World by Martin Reddy

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

to top
  Chapter Details Humanoid Animation Viewpoint Slideshow
Humanoid Animation (H-Anim)

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

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

A supporting H-Anim chapter slideset is available online via Related work appears in the Medical examples.

to top
  Chapter Details Lattice Xvl Viewpoint Slideshow
Lattice technology The LatticeXvl examples 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 validation has been maintained through each version of X3D, and is documented further in the actual X3D DTDs and Schemas.
to top
  Chapter Details Medical Viewpoint Slideshow
Body Skin IndexedFaceSet (IFS) by NIST

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.

Bones All Skeleton
to top
  Chapter Details Networking Viewpoint Slideshow
Network Rerouting over Alternate Routes

This directory documents attempts 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. 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.

to top
  Chapter Details NURBS Viewpoint Slideshow
Fred the Bunny 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.
to top
  Chapter Details Rigid Body Physics Viewpoint Slideshow
Xj3D rigid-body car example

These examples support the X3D Rigid Body Physics component for simple kinematics, first implemented by Xj3D.

Of related interest: Distributed Interactive Simulation (DIS) examples.

to top
  Chapter Details Script Conformance Viewpoint Slideshow
Script Event Passing

The Script Conformance examples provide examples for the X3D Scripting Component, as implemented using the X3D language binding for ECMAScript. and the X3D language binding for Java.

Original examples are derived from "The Virtual Reality Modeling Language and Java," Communications of the ACM, vol. 41 no. 6, June 1998, pp. 57-64 by Don Brutzman.

to top
  Chapter Details Security Viewpoint Slideshow
Padlock closed The X3D Security Examples show how to use the World Wide Web Consortium (W3C) Security Recommendations for XML Signature and XML Encryption with X3D. Padlock open
Additional security examples are being prepared as part of the X3D for Advanced Modeling project.
to top
  Chapter Details Shaders Viewpoint Slideshow

A programmable shader allows authors to directly specify how an object is rendered by providing a method of programmatically modifying sections of the rendering pipeline. This allows replacement of the traditional fixed-function graphics API pipeline to support visual effects that typically cannot be implemented using other node components in this standard.

These example scenes illustrate the X3D Programmable Shaders Component. Unfortunately, unlike X3D, shader languages are typically hardware-specific and not interoperable across different platforms. Mutually compatible X3D interfaces and syntax are defined for the OpenGL shading language (GLSL) binding, Microsoft high level shading language (HLSL) binding and the nVidia Cg shading language binding.

to top
  Chapter Details Student Projects Viewpoint Slideshow
Pinball Table Model These are interesting scenes authored by X3D students who have taken the X3D for Web Authors Further contributions are welcome. Be sure to follow the X3D Scene Authoring Hints for reasonably consistent descriptions, metadata, layout and naming conventions within each model scene.
to top
  Chapter Details Units Viewpoint Slideshow


These examples demonstrate use of the X3D Units statements proposed for X3D version 3.3. Unit statements define conversion factors from default units in order to simplify the creation of content using minimal data translation. The original proposal provides further detail.

to top
  Chapter Details Universal Media Materials Viewpoint Slideshow
Universal Media

These Universal Media examples provide a large suite of color-coordinated X3D/VRML Materials for easy usage by authors. Visual scenes are provided for browsing and selection from each collection. Entries can be copied directly or used via (internal or external) prototype declarations.

This library of materials is originally converted from SGI's Open Inventor material examples. Material library selections are also built into the X3D-Edit authoring tool. Example use is further explained in the X3D for Web Authors slideset Chapter 5 - Appearance Material Textures.

to top
  Chapter Details Universal Media Panoramas Viewpoint Slideshow
Universal Media

These Universal Media examples provide a large suite of X3D/VRML Background nodes with customized images for easy author use. Visual scenes are provided for browsing and selection from each collection. Background nodes can be copied directly with multiple url site addresses included for each image texture in order to improve reliability.

Example use is further explained in the X3D for Web Authors slideset Chapter 11 - Lighting and Environment.

to top
  Chapter Details Volume Rendering Viewpoint Slideshow
Basic Brain, Shaded: X3D Specification Volume Visualization example

The Volume Rendering examples illustrate concepts and capabilities defined by the X3D version 3.3 ISO specification for X3D Volume Rendering Component, produced by the Web3D Medical Working Group.

Volume data is typically encoded in the NRRD (Nearly Raw Raster Data) format. Further information is found in this archive's README file.

NRRD (Nearly Raw Raster Data)
to top
  Chapter Details VRML 97 Specification Viewpoint Slideshow

Virtual Reality Modeling Language (VRML97)

Many 3D graphics systems support the Virtual Reality Modeling Language (VRML97). These scenes support the Examples section of the VRML97 specification.

The baseline source kept under version control is in .x3d form, and the autogenerated products include versions using the VRML97 .wrl file extension. These examples are maintained for historic reasons and interoperability testing. Backwards compatibility of scenes remains a significant strength of the X3D specification, which includes a fully interoperable ClassicVRML file encoding as well as numerous conversion and translation tools.

Historic predecessor document references include the VRML Script Node Authoring Interface proposal of 6 October 1996, and the Virtual Reality Modeling Language (VRML) 1.0 Specification of 26 May 1995.

to top
  Chapter Details Web 3D Outreach Viewpoint Slideshow
Web3D Consortium Logo The Web3D Consortium is a nonprofit organization that develops and maintains the X3D, VRML, and H-Anim standards. These are 3D file formats and runtime specifications for the delivery and integration of interactive 3D data over networks.
Extensible 3D (X3D) Graphics (X3D) is the open, royalty-free, ISO-standard data language and run-time architecture for 3D graphics. It provides for real-time, interactive, animatable 3D objects displayed in a browser or other network connected or stand-alone display. The simple examples in this directory support the creation of outreach and marketing models for the Web3D Consortium and X3D Graphics. X3D Specification Logo
to top
  Chapter Details X3D Specifications Viewpoint Slideshow
X3D Specification Logo

The X3D Abstract Specification authoritatively defines the functionality of X3D scenes. It specifically describes how geometry rendering and user interaction can be accomplished on any 3D device. Multiple file encodings (.x3d, .x3dv, .x3db) and multiple language bindings (ECMAScript .js, Java .java) can equivalently represent an X3D scene. These examples support five different X3D specifications:

to top

to top Online at

Master source code archive is under subversion control at

Point of contact:
Don Brutzman (brutzman at
Open-Source License
Valid XHTML 1.0! Content Catalog XML
Autogenerated 17 July 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.