This archive provides a wide variety of basic open-source examples that show how to
design and build X3D models. Many of these scenes have been used for confirmation,
development and testing of essential node capabilities in X3D.
26 Directory Summaries |
744 X3D Models |
CAD
|
|
Chemical Markup Language
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, combined with previously designed X3D model prototypes,
by converting CML molecule definitions in XML through
CmlToX3d.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.
|
|
course
|
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.
|
|
|
development
|
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.
|
|
|
Distributed Interactive Simulation
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.
Advisory:
the Distributed Interactive Simulation (DIS) component in not widely supported in X3D.
Further work is welcome.
|
|
Experimental Binary Compression
|
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.
|
|
|
External Authoring Interface
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).
|
|
Followers
|
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.
|
|
|
Geospatial
|
|
Lattice Xvl
|
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 LatticeXvl 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.
|
|
|
Medical
|
|
Networking
|
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.
|
|
|
NURBS
|
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.
|
|
|
Points
|
This directory includes experiments with extensions for X3D Points.
|
|
|
Rigid Body Physics
|
Rigid Body Physics modeling deals with objects as solid, unchangeable sets of mass having a velocity
that can be connected together via various joint types that allow one body's motion to affect another.
These examples support the
X3D Rigid Body Physics component
for simple kinematics, first implemented by
Xj3D.
Warning:
the Rigid Body Physics component in not widely supported and these examples are insufficiently tested.
Further work is welcome.
Of related interest:
Distributed Interactive Simulation (DIS)
examples.
|
|
|
Script Conformance
|
|
Security
|
|
Shaders
Shaders are special programs that interact directly with graphics hardware
for special effects using light, darkness, and color within a model's appearance.
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.
|
|
Student Projects
|
Student Projects are interesting and fun!
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.
|
|
|
Units
Unit statements can redefine the base units of length/angle/force/mass values
in an X3D scene from meters/radians/newtons/kilograms to other units of interest.
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.
|
|
Universal Media Materials
Universal Media Materials provide numerous complex Material values
to simplify scene authoring and improve geometry appearance.
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.
|
|
Universal Media Panoramas
Universal Media Panoramas are texture-mapped high-resolution Background nodes.
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.
|
|
Volume Rendering
|
|
VRML 97 Specification
The VRML97 Specification was the second-generation predecessor specification that eventually led
to the X3D Graphics International Standard, maintaining full compatibility with the X3D ClassicVRML Encoding.
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.
|
|
Web 3D Outreach
|
This directory collects models and scenes for outreach by the
Web3D Consortium,
the Standards Development Organization (SDO) that supports real-time graphics communication on the Web.
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 Specifications
|
These examples are used in the X3D Specifications to illustrate correct X3D usage and capabilities.
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:
|
|
|