This tutorial introduces Extensible 3D (X3D) Graphics, which is the
XML-capable third-generation evolution of the ISO-standard Virtual
Reality Modeling Language (VRML 97). X3D is designed for authoring,
interchange and delivery of interactive 3D content on the Web.
This course provides an overview of the X3D Specification, and a
detailed exploration of the open-source Xj3D Toolkit, a cross-platform
Java API for developing X3D applications. X3D model archives and
the freely available X3D-Edit authoring tool enable Web developers
to easily build compelling 3D content. Significant interoperability
with other XML languages provides a rich set of capabilities to
quickly integrate 3D content with other Web media.
The X3D working group site is http://www.Web3D.org/x3d.html
Specific tutorial topics include the following.
- X3D Specification Overview. Currently submitted for public comment
as an ISO Final Committee Draft, the X3D specification has multiple parts.
The abstract specification presents the essential functional capabilities
of 3D objects and behaviors. Multiple interoperable encodings include
the .x3d XML encoding and the .wrl VRML Classic encoding. Initial
results with binary/geometric compression are presented. The Scene
Authoring Interface (SAI) describes scripting interactions using
EcmaScript and Java, compatible with the Document Object Model (DOM)
and XHTML event model, according to a well-typed object-oriented hierarchy.
X3D is organized by components for light-weight adaptable composition.
X3D profiles are defined for tool interchange, light-weight interactivity
and fully immersive 3D worlds.
- Xj3D Toolkit. Xj3D is an open-source API for developing X3D-compliant
applications. It is the sample implementation and testbed for the X3D
Specification. Xj3D allows developers to build their own X3D browsers,
create their own nodes, and interface various input/output devices
including CAVES, gloves and dome displays. We show how to use the
capabilities of the toolkit, explaining the architectural design and
- X3D Content and Authoring. The phrase "Content is King" underlines
the bottom-line importance of producing compelling 3D scenes. Content
development is supported by more than 2000 X3D examples, available for
composition/reuse and also as learning exemplars. The Java-based
X3D-Edit provides an annotated validating tool for rapid construction
of X3D scenes. VRML 97 import and pretty-print XHTML output makes this
a helpful tool both for education and for content production. Basic
constructs, rendering principles, user navigation, scene interaction,
scripting and basic design patterns are examined. A 2-CD set for
attendees, the X3D Software Development Kit (SDK), provides numerous
application tools and content examples, including the X3D Conformance
- XML Interoperability and Future Directions. The X3D 3.0 DTD and
Schema enable validation of X3D scenes in a variety of XML tools.
XSLT stylesheets can convert X3D scenes into corresponding VRML
encodings or cataloged content archives. Chemistry Markup Language
(CML) models can be rendered and visualized in X3D. Simple 2D/3D
correspondences with Scalable Vector Graphics (SVG) are summarized.
Multilingual internationalization (I18N) support includes annotation
tooltips in Chinese, English, French, German, Italian and Spanish.
A rich set of future work is available, including collaborations
between Web3D Consortium and World Wide Web Consortium (W3C)
working groups. Numerous references and resources are provided
that enable developers to actively explore and extend these
exciting new capabilities.