From EduTechWiki - Reading time: 19 min
X3D is a Web 3D technology.
“X3D is a royalty-free open standards file format and run-time architecture to represent and communicate 3D scenes and objects using XML. It is an ISO ratified standard that provides a system for the storage, retrieval and playback of real time graphics content embedded in applications, all within an open architecture to support a wide array of domains and user scenarios.
X3D has a rich set of componentized features that can be tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more.
The development of real-time communication of 3D data across all applications and network applications has evolved from its beginnings as the Virtual Reality Modeling Language (VRML) to the considerably more mature and refined X3D standard.” (web|3D, retrieved 12:59, 11 March 2009 (UTC)).
“X3D focuses on the visualization of 3D assets within applications. X3D has principally been targeted for the Web (thus the name and focus of the Web3D Consortium). X3D is a delivery format intended to contain the information needed for interactive applications. X3D specifies behaviors and interaction, and it includes both a specific run-time model that enables picking, viewing, navigation, and scripting, and an API to manipulate the scene graph at run-time.” (Arnaud and Parisi, 2007).
There exist two different formats (X3D in XML notation and X3DV in VRML notation). X3D has themodel/x3d+xmlmime-type and X3DV can be served as the model/x3d+vrmlmime-type
See also:
X3D scenes can contain two sorts of "contents": objects and behaviors.
Basically, there are three kinds of options for creating a 3D object:
Here is a longer list of options (John F. Richardson / VRML mailing list):
See below and also the Web3D website for lists of tools
A so-called behavior can be defined as changing the value of property of an object with the scene. Values are usually numbers, e.g. define the size or shape or position of an object.
Behaviors can be triggered by various means such as "data producers" (e.g. a user navigates close to an object), interpolations (computer generated values over time) or scripts. These data producers are connected to objects that they change through ROUTEs. More specifically a ROUTE passes an event, i.e. a value change at a given time from an "output" field of an object to an "input" field of another object.
According to Nicholas f. Polys (retrieved Aug 27 2010), “Conceptually, each X3D application is a 3D time-based space that contains graphic and aural objects that can be loaded over a network and dynamically modified through a variety of mechanisms. The semantics of X3D describe an abstract functional behavior of time-based, interactive 3D, multimedia information.
The basic unit of the X3D run-time environment is the scene graph. This structure contains all the objects in the system and their relationships. Relationships are contained along several axes of the scene graph. The transformation hierarchy describes the spatial relationship of rendering objects. The behavior graph describes the connections between fields and the flow of events through the system.
An X3D scene graph is a directed acyclic graph. Nodes can contain specific fields with one or more children nodes which participate in the hierarchy. These may, in turn, contain nodes (or instances of nodes). This hierarchy of nodes is called the scene graph. Each arc in the graph from A to B means that node A has a field whose value directly contains node B.”
Unlike its VRML predecessor, X3D has a modular architecture with four baseline profiles (What is X3D?)

Check:
Browser-based (WebGL
Other WebGL
There exist several clients for Windows/Linux/Mac. The best ones are probably commercial (in particular BS Contact), they provide free versions that include some "nagging", i.e. a crawling logo.
Navigator extensions
To check what X3DV extensions you have:
Major clients (tested by Daniel K. Schneider (sometimes in the past):
To install under Ubuntu as explained here, follow these steps: Get it like this (but take a newer version):
wget http://www.bitmanagement.de/developer/download/BSContact-7.1.07-4.i386.rpm
Extract the files with rpm2cpio (creates a cpio archive, then will extract the files to./opt/BSContact)
rpm2cpio BSContact-7.1.07-4.i386.rpm | cpio -imV
Move to /opt:
mv opt/BSContact /opt rmdir opt
Tell Ubuntu it's there.
SETUP_INSTALLPATH=/opt/BSContact SETUP_OPTIONTAGS=icons /opt/BSContact/bin/postinstall --root --create icons
Any web-server can serve X3D contents for stand-alone usage. You only have to make sure to configure the following mime-types in your web server:
.x3dv model/x3d+vrml .x3d model/x3d+xml .x3db model/x3d+binary
See also: 3D interactive environments
Currently (Sept. 2010) at least the following multi-user X3D server technology is available. There are probably additional commercial solutions. See also VRML. Resource-limited open-source projects seem to stick to this older standard. E.g. Vr4all is nice community and their technology does work. Also, it seems that some dead commercial platform code "floats" around, e.g. read this VRML Server forum.
DeepMatrix is an open-source Java server/client 3D multi-user system capable of both chat and shared events working in conjunction with X3DV browsers that have Java EAI or External SAI. Currently (15:18, 16 May 2010 (UTC), this server works with the Deep MatrixIP9 client (see above). You may have to download the latest (non public) version from the FTP archive.
“BS Collaborate designed for virtual reality applications from games up to cooperative work enables customer in combination with the basic visualization component BS Contact 7.2 (and higher) to realize real time communication between 3D objects like avatars in shared environments as well as collaborate working on 3D models with standard PC on the Internet.” (BS Collaborate, retrieved Sept. 8 2010).
“X3Daemon is middleware commercially available to developers, and is freely available to Office Towers users...” (not tested, except for at look at OfficeTowers, which also can be used as free service for your X3DV scene)
It seems to Daniel K. Schneider that it will take time to attract more open source developers or companies to develop X3DV-based multi-user servers. The ongoing pattern since the mid-1990's seems to be announcements, prototypes and then death of both the product and the companies. However, given that 3D is a "niche market" this is not too surprising. Let's recall the fate of some major technologies. IE (as of March 2009) still cannot handle XHTML and does not implement SVG. The SVG implementation of Firefox is partial only (doesn't include the "SMIL" tags. Firefox does not implement SMIL. Correct implementations of CSS3 and XSL-FO real-time players are other sore issues...
One reason why VRML and X3D is less popular than the sum of proprietary formats (in particular gaming engines) might be that other engines are optimized for speed. X3D, on the other hand, is much more flexible, in a scene any property of any object can change at any time (even if the user can't see the thing). Optimizing players to deal with lots of potentially changing geometry is already difficult. Now, propagating changes in multi-user environment over the Internet multiplies this challenge.
However, sticking to standards still seems to be best solution since code can be reused. Lively, Google's probably Flash 3D-based chat environment, was terminated on December 2008. It would be interesting to know the reasons. ThePalace (the company who produced the Palace 2D environment) is dead. Active Worlds (the "Second Life of the late nineties) seems to be the only commercial proprietary 3D server that managed to stay alive over the years. It's too early to predict the fate of Second Life. It does look like a huge digital desert to users, but it may survive because of some specialized activities like fashion shows or virtual chat. The difference between Active Worlds and Second Life is that Active Worlds Inc. also sells servers you can install on your own machines. You also may consult 3D interactive environments for a longer list.
Below are some recently dead projects (probably most links are dead too now)
“ABNet is a Java communications client/server that turns a single-user VRML or X3D world into a multi-user virtual world environment. 3D avatars can interact and use shared events to provide a virtual experience similar to SecondLife and the Blaxxun platform. More generally, the communication framework of ABNet provides an asynchronous low-latency publish and subscribe environment using XML messages over TCP/IP.” (ABNet2 Software, retrieved Sept. 10 2010).
Vivaty offered an online 3D chat service with a similar developer model as Second Life, but it's based on a real standard and therefore your contents can outlive the platform. It runs under Vista/XP as Firefox or IE plugin. You can design your own X3D scenes and then import to their server. There is also an interface with Facebook and AIM.
Vivaty closed on April 16, 2010 “The company’s revenue, pegged on the sales of its virtual currency Vivabux, was not substantial enough to cover its costs.” [1]. “Jay Weber, chief technical officer and co-founder, announced on the company’s blog that the site will close because its business of letting users create their own 3D virtual spaces has never taken off.” [2], retrieved 12:29, 25 August 2010 (UTC).
In March 2007 Media Machines announced Flux World, a server technology based on Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). The company is now gone and its assets went to Vivaty, e.g. the excellent X3D authoring Flux Studio tool was forked to "Vivaty Studio", then in April 2010 assets went to Microsoft. No trace of the multi-user server. The free (but not opensource) X3D authoring tool may still be available from some places, like Media Machines Weblog.
Blaxxun was one of the first VRML-based systems. The company at some point went broke in the early 2000's, but was alive again (2007) and dead again (2010). I suspect that most of it's assets now belong to:
Then, check the web3d.org website. It has a good list of tools for X3D Development including a comparison of four authoring tools.
See also 3D modeling. Several 3D modeling tools can export to X3D. Many X3D designers use a normal 3D or CAD modeling tool for creating individual objects and then export/import to a X3D structure editor (or X3D-aware programming editor) to build a scene.
java -jar VrmlMerge-[version].jar -merge inputfile.wrl [outputfile.wrl] java -jar VrmlMerge-[version].jar -convert inputfile.wrl [outputfile.x3d] java -jar VrmlMerge-[version].jar -images inputfile.wrl outputfile.wrl bitsPerColor java -jar VrmlMerge-[version].jar -images2 inputfile.wrl [outputfile.wrl]
See also: File Translators & Utilities
VRML is a Web 3D technology that is still in use, but I suggest that people new to Web3D should rather go for X3D, its successor.
The Virtual Reality Modeling Language (VRML) can been seen as a 3D visual extension of the WWW. People can navigate through 3D space and click on objects representing URLs (including other VRML worlds). Often, VRML is pronounced like ``Vermal, not ``V-R-M-L.
As Mark Pesce [Pesce, 1995, p. 16] points out, the WWW had two fundamental dimensions: connectivity (the http protocol) and interface (i.e. the rendering of content, especially HTML and embedded URLS). VRML inserts itself seamlessly in the Web's connectivity. VRML browsers can access other VRML files via an URL. They can access any other format that then is passed to another application (e.g. an HTML browser or a HTML window). On the other hand HTML browsers can be configured to fire up VRML helper applications (or plug-ins). HTTP servers, finally, can be configured to tell the client that a VRML (*.wrl) document is transferred.
A short word on its history: The major impulse for VRML can be traced back to a ``birds of the feature sessions on ``Virtual Reality Markup Languages at the First International Conference on the World-Wide-Web, May 25-27, 1994 at CERN in Geneva. It's conceptual origins are older, e.g. (a) Science Fiction literature (e.g. [Gibson, 1994], [Stephenson, 1992]), (b) Mark Pesce's, P. Kennard's and Toni Parisi's ``Labyrinth system ([Pesce et al., 1994]) and proposal for a 3D navigation and representation scheme and (c) more generally 3D computer graphics (including VR). Based upon SGI's ``Open Inventor format, a almost final draft for VRML 1.0 was presented at the second WWW conference in fall 94 in Chicago. On April 3, 1995 SGI presented WebSpace, the first publicly available VRML browser. So all in all it took about a year to set standards and make the first browser available. Since VRML is a relatively simple format building upon a well defined standard, very quickly a number of modeling tools and converters also became available.
In the late nineties VRML was almost dead. Since VRML was invented before we had cheap 3D cards, it was too slow. Gaming engines back then optimized speed (e.g. did a lot just with textures) and they built specialized rendering engines for specialized tasks, so games looked much better. In addition, companies like SGI who had the skills to build decent viewers and editors did not pursue long-term strategies, e.g. its Cosmo Division was sold to Platinum Technologies and soon thereafter the Cosmo Player was dead. Other, smaller companies were bought and killed by competition (e.g. Microsoft bought WorldView and then also sold it to Platinum. Others went broke for commercial reasons, e.g. the German company Blaxxun who did have a nice but overpriced virtual worlds server. Finally initiatives to build a virtual worlds standard (multi-user VRML) never made it.
“The final insult occurred in 1999 during the VRML 1999 conference in Germany. While the Platinum VRML employees were out of the country manning the Platinum trade show booth, Platinum laid off the entire VRML division in a Monday morning blood bath. Within another month or two, Platinum itself was sold to Computer Associates, which inherited the VRML browsers and tools and currently sits on them.” ([3]).
VRML still survived all those years in niche markets. E.g. in education it remained popular to visualize complex objects (e.g. chemical molecules) and data structures. It also was used to train procedures. Finally VRML as data format is used to display exported data from more sophisticated static CAD formats.
VRML is back in a new form: X3D and most modern X3D clients also can display VRML code. By the way, Blaxxun also reemerged from its ashes. Daniel K. Schneider believes that an open Web3D standard does have its future. While gaming engines (e.g. Neverwinter Nights or virtual environments like Second Life are easier to build with and prettier, they do lack the flexibility that the X3D (SAI/ECMAScript/AJAX3D) has.
(all retrieved Aug. 2010)
It may be a good idea to understand some very basic 3D principles, e.g. read How 3D Graphics Work from how stuff works.
See also the resources to Learn X3D (web|3D Consortium)
There are many X3DV examples on the web. However, many links collections and archives die or are not maintained. We shall add some more here, but maintaining links in web 3D is a nightmare (since most 3D Companies go broke after 3 or 5 years ...)