Professional Documents
Culture Documents
E
xtensible 3D (X3D) is the open specification for broad 3D graphics ument consists of multiple parts for a
standard for Web-delivered functionality; 2) define multiple levels current total of seven parts. Typically,
three-dimensional (3D) graph- of functionality for implementation on there are updates for three or four of
ics. It specifies a declarative various classes of hardware; 3) define a these parts undergoing the ISO review
geometry definition language, variety of data-encoding formats; and 4) process at any given time. The first X3D
a run-time engine, and an application maintain compatibility with predecessor specification document (ISO/IEC 19775-
programming interface (API) that pro- technology as much as possible. These 1) was approved by the ISO in 2004. The
vide an interactive, animated, real-time objectives were chosen so that the stan- consortium submits amendments or
environment for 3D graphics. The X3D dard was understandable and usable, the revisions to the ISO every 12 to 18
specification documents are freely avail- resulting files fit into the larger Web months to keep current with advances in
able, the standard can be used without architecture, and the content was dis- 3D graphics processing.
paying any royalties, and numerous playable on a large range of displays. All
implementations are available. of these objectives were met by X3D, TARGET APPLICATIONS
which defined three equivalent encod- X3D is designed for applications where
BACKGROUND ing formats: an Extensible Markup 3D models and behaviors can best illus-
Language (XML) version, a classic trate the spatial relationships and inter-
MOTIVATION VRML version, and a compressed binary active features that are otherwise
It has been obvious since the late 1990s version. An X3D world (or X3D scene) difficult to show. Example applications
that a common, standardized format was defined to be all the 3D content, are legion and include the HSV Football
was needed for 3D graphics. Companies animation behaviors, and user interac- Stadium in Germany (venue/event view-
like ActiveWorlds, Cult3D, and tion needed for running an author- ing), RayGun (social networking), Arabic
MetaStream created browsers that defined virtual environment. language and cultural interaction (train-
would only display 3D content created ing), visual analysis of amino acids and
for that particular browser. By the early ISSUING BODY AND SCHEDULE proteins (scientific), subsea drilling rig
2000s, those companies were going out Although standards development is often simulation (maintenance and training),
of business. The lessons learned by the a slow process, a special relationship radiation therapy and surgical systems
early companies were that a common expedites the rapid yet thorough stan- simulator (medical treatment), Earth
standardized format needed to run on dardization process for X3D. All of the atlas (education and scientific), Anti-
desktop computers, interact with the X3D standards are first developed by the Terrorism Force Protection for the U.S.
World Wide Web, and provide several X3D Working Group of the Web3D Navy (mission planning), and eScene
levels of functionality. Consortium and then reviewed, (emergency response).
The initial X3D effort was started in approved, and issued by the International
1999 by the Web3D Consortium. X3D Organization for Standardization (ISO). STRUCTURE OF THE STANDARD
was the evolutionary successor to the Web3D is responsible for all aspects of The three ISO documents comprising
Virtual Reality Modeling Language X3D development, including market the X3D specification are “Abstract
(VRML97). The X3D language was research, implementation and testing of Functionality,” “Encodings,” and
designed based on lessons learned from features, and standards document devel- “Language Bindings.” The first docu-
VRML97 achievements and many com- opment. Standards documents are then ment (ISO/IEC-19775 Parts 1 and 2)
panies’ early efforts. submitted to the ISO as committee draft defines the architecture and functional-
text. Proposed revisions go through a ity of X3D. The second document
OBJECTIVES series of reviews and approvals by (ISO/IEC-19776 Parts 1–3) defines
The purpose for developing the X3D national bodies to ensure completeness, three different encodings of the func-
standard was to 1) develop a royalty-free correctness, and clarity. tionality. The third document
The X3D specification is defined in (ISO/IEC-19777 Parts 1 and 2) defines
Digital Object Identifier 10.1109/MSP.2007.905889 three separate ISO documents. Each doc- the language-specific API bindings
X3D Browser
Parsers
Scene Access Interface (SAI)
X3D XML Classic VRML Binary
Encoding Encoding Encoding Application Programmer Interfaces
Scripting Engines
X3D Nodes, Prototype and
Node Types External Prototype EcmaScript
Java
Others
Scene Graph Manager
(a) (b)
[FIG1] Example software architecture for an X3D browser with the main parts: (a) file parsing and rendering and (b) animation and
dynamic scene-graph manipulation.
X3D geometric modeling capabilities tioned earlier. Code external to the X3D [Figure 1(a)] and animation and dynam-
range from low-level triangle-definition environment may only use the SAI. ic scene graph manipulation [Figure
nodes (for the highest-possible perform- Further extensibility is provided with- 1(b)]. Browsers and applications that
ance) to geometric primitives (box, in X3D itself through a prototyping implement X3D capabilities are free to
cone, cylinder, and sphere) and more mechanism. Authors can create proto- use any software architecture desired, as
advanced geometric nodes such as type definitions of new nodes construct- long as end results are visually and func-
extrusion, elevationgrid, and nonuni- ed from previously defined nodes and tionally correct.
form rational Bézier spline (NURBS) then re-instance them as needed. X3D uses a hierarchical directed
parametric surfaces. acyclic scene graph to define the loca-
X3D provides straightforward func- tion relationships and appearances of
tionality for animation and interactivity. the 3D world. X3D also uses the run-
All of the animation nodes work by key- Full time portion of the architecture to pro-
frame animation using linear interpola- Immersive vide real-time animation and user-
tion. Complex animation sequences are interaction capabilities, which greatly
Interactive
efficiently constructed by linearly increase the “liveness” and perceived
approximating the desired result. User- realism of the scene.
Interchange
interactivity nodes capture events from X3D scene files are encoded in XML,
standard interface devices (e.g., mouse classic VRML, or compressed binary for-
Core
and keyboard) and provide this data mat. The XML encoding allows for self-
inside the X3D environment for process- validating X3D content that is Web-
ing by the browser’s run-time engine. CAD compatible and maximizes interoperabil-
Complex animation and user inter- ity with other Web languages. The classic
action can also be driven by software VRML encoding has the same structure
written in the ECMAScript (commonly as, and is backward compatible with,
[FIG2] X3D profiles are carefully nested to
known as JavaScript) or Java program- provide increasing functional sophisti-
VRML97. The compressed binary encod-
ming languages. The X3D specification cation. Note that the CADInterchange ing minimizes file size and maximizes
requires support for ECMAScript within profile is labeled CAD in the diagram. parsing speed, allowing faster transmis-
the X3D environment, whereas Java sion and faster loading.
support is optional in order to keep X3D scene graphs are typically defined
Web-based implementations small and ARCHITECTURE as one or more files that are available to
lightweight. Code within the X3D envi- The example architecture of a sample the browser locally or using Hypertext
ronment can use either X3D’s event X3D browser, illustrated in Figure 1, Transfer Protocol (HTTP). Each file is
passing mechanism or the SAI men- consists of file parsing and rendering expressed in a single encoding, but differ-
ent files may use different encodings and
even refer to each other. These encodings
are isomorphic to each other, allowing
X3D HARDWARE AND SOFTWARE PRODUCTS equivalent content functionality to exist
Conformant Products (Interchange Profile, as of Autumn 2007) in any of the three forms.
• Xj3D (http://www.xj3d.org) from Yumetech, Inc. (http://yumetech.com) The X3D run-time architecture in
• FreeWrl (http://freewrl.sourceforge.net) from Communications Research Figure 1(b) includes the SAI and script-
Centre, Canada (http://www.crc.ca) ing engines. The SAI allows an applica-
• Flux Player from Media Machines (http://www.mediamachines.com) tion external to the X3D browser to
Other Products perform operations inside the scene
Software (everything from creating the environ-
• BS Contact VRML/X3D from Bitmanagement Software GmbH (http:// ment and adding nodes to manipulat-
www.bitmanagement.com) ing the environment) during run time.
• Flux Studio from Media Machines (http://www.mediamachines.com) The SAI also governs the internal inter-
• Octaga Player, Octaga Professional, Octaga Exporter, and Octaga Panorama face for direct manipulation of the envi-
(http://www.octaga.com) ronment by script code embedded in
• WireFusion, Demicron Ltd. (http://www.demicron.com) the X3D scene. X3D defines the SAI for
Hardware ECMAScript and Java, with a struc-
• SensAble haptics through the use of H3D API (http://www.sensegraphics. turally equivalent SAI binding for C++
com/products.php) likely to undergo future specification
• H3D API also support SeeReal 3D monitors, DepthQ 3D projectors review. Browsers typically implement at
least one of these languages.
software implementation and sensible port interactivity and specifically does time required to render each individual
content creation. not address rendering of 3D content. screen display, i.e., each frame. Scene
The Interchange profile is designed OpenInventor was the primary prede- complexity is carefully structured and
for the basic exchange of model geome- cessor of VRML. It is not active, but optimized to maximize rendering frame
try and texture-image content between Coin3D fully supports OpenInventor rate. X3D provides author-controlled
various 3D content-creation applica- 3D. Coin3D is designed more for local mechanisms (such as subtree switching
tions. It includes simple animation applications rather than Web-based and or level-of-detail proximity checks) that
interpolation but not user interaction. Web-aware applications. Collada is can remove unneeded elements from
The CADInterchange profile adds geo- maintained by the Khronos Group as an the rendering cycle to improve per-
metric nodes and data structures to open digital asset exchange and archive formance. Current personal computer
support the exchange of computer-aided format. Neither Coin3D nor Collada has systems with graphics-hardware accel-
design (CAD) data between different been approved by an independent stan- eration are able to render all but the
X3D-based applications. It maintains dards organization. most complex scenes at visually smooth
the hierarchical piece/part structure as Complementary relationships be- rates (15 frames/s or faster). However,
normally defined in common CAD mod- tween X3D and other formats are likely neither the X3D standard nor the con-
els. The Interactive profile adds user to continue to grow, since X3D is formance test suite specifies a mini-
interaction, network protocols, and designed as a broadly capable format that mum or maximum frame rate, since
additional lighting. The Immersive pro- is easily imported and exported while the scope of X3D capabilities and varia-
file is designed to provide all of the nec- remaining suitably stable for long-term tions in both implementations and
essary functionality to develop a archival purposes. delivery platforms can vary so widely.
desktop-based immersive environment. There is no requirement for graphical
It is the most commonly used profile. PERFORMANCE hardware acceleration; however, the
The Core profile defines only the basic frame rate may be significantly slower
functionality of X3D. It has no dis- CONFORMANCE on systems without it. In any case, ani-
playable nodes and is useful only as a The Web3D Consortium runs a confor- mations must proceed at the proper
base for adding individual components mance program that issues an “X3D con- real-time speed regardless of frame
to build highly optimized and special- formant” seal to software or hardware rate, guaranteeing a consistent end-
ized worlds. The Full profile includes all products that pass the conformance test. user experience.
X3D functionality. Although no browser The test suite is initially self-adminis-
yet supports the entire Full profile, tered by implementing company mem- FURTHER TECHNICAL
some are nearly complete. Because mul- bers, and test results are formally verified DEVELOPMENTS
tiple implementations (including at by the Web3D Consortium. The individ- The X3D specification is designed to be
least one open-source implementation) ual tests check functional conformance both flexible and extensible, and so it
must demonstrate interoperability to the standard for a particular profile continues to be revised and amended.
before new component technologies can (now available for the Interactive profile). Such additions can support new func-
be included in the X3D standard, multi- The conformance program is being tionality as it is introduced and deployed
ple browsers support each of the many expanded and implemented for the other by the 3D hardware industry. Current
X3D components. profiles. Browsers may choose to support X3D efforts include adding superior bina-
any combination of profiles, but Core is ry compression, improved navigation
COMPARISON WITH OTHER always required. Therefore, the Core pro- features, geospatial visualization as part
STANDARDS file conformance test suite is also built of X3D Earth, and network protocols for
X3D is the only open standard available into the conformance test suites for the distributing the X3D event model. The
that provides thorough support for real- other profiles. Web3D Consortium has member policies
time, interactive animation and render- The Web3D Consortium’s confor- and working practices in place to help
ing of 3D graphics. Formal development mance program is designed to promote ensure that no undeclared proprietary
of the VRML standard, which is the pred- consistent and reliable implementations intellectual property is included in the
ecessor of X3D, was completed with the of the X3D standard across multiple plat- specifications. Patented technology may
release of X3D. forms. Browsers seeking to claim X3D be adopted, but only under royalty-free
Other related formats include conformance must at least meet the terms, in order to ensure the widest pos-
Universal 3D (U3D), OpenInventor, functionality as specified for that confor- sible Web use.
Coin3D, and Collada. U3D is designed mance profile. X3D is designed to work compatibly
for repurposing and visualization of within the context of the World Wide
CAD models and provides for geometry, SPEED Web and thus needs to interoperate
continuous level of detail, data stream- The run-time processing performance with other XML-based specifications,
ing, and animation. U3D does not sup- of an X3D browser is controlled by the applications, and file formats. To this
RESOURCES
Tutorials, overviews, books, links to
available software, and other
resources are included in the “X3D
Resources” sidebar. An expanded ver-
Today’s technologies are changing at
sion of the resources list is also avail-
a pace faster than ever. Every issue of
able following a link provided in “X3D
the Proceedings of the IEEE examines
Resources.”
new ideas and innovative technologies
PRODUCTS to keep you up to date with develop-
Information on software and hardware ments within your field and beyond. Our
products using X3D is available in “X3D unique multidisciplinary approach puts
Hardware and Software Products.” today’s technolo-
No other publication
gies in context, keeps you in touch
ACKNOWLEDGMENT and our guest with the evolving world
editors bring of technology better
The authors thank Dr. Kris Watkins for
you the expert than the Proceedings
helpful review comments. of the IEEE.
perspective you
AUTHORS need to understand the impact of new
Leonard Daly (Leonard.Daly@ discoveries on your world and your work.
realism.com) is the president of Daly
Realism, an Internet consulting compa- Enrich your career and broaden your
ny. He is a member of the editorial team horizons. Subscribe today and find
for the X3D standard. out why the Proceedings of the IEEE
Don Brutzman (brutzman@ nps.edu) is consistently the most highly cited
is an associate professor at the Naval general-interest journal in electrical and
Postgraduate School in Monterey, computer engineering in the world!*
*Source: ISI Journal Citation Report (2004)
California, and cochair of the X3D work-
ing group.
Both are coauthors of the book X3D: Call: +1 800 678 4333
Extensible 3D Graphics for Web Authors or +1 732 981 0060
(www.x3dGraphics). [SP] Fax: +1 732 981 9667
Email: customer-service@ieee.org
www.ieee.org/proceedings