A Simple Introduction to X3D

Dateline: August 10, 2000

For approximately the last 18 months a task group of the Web3D Consortium has been arduously working on the next generation version of VRML. It's called X3D sort of. Without getting into the specific use or misuse of the term X3D understand that in the formal sense of ISO (the standards organization) the new version of VRML is called VRML! More specifically the old version of VRML is usually referred to as VRML97 where 1997 is the year it was approved. The new version is called VRML200x where depending on what year, 2001 or 2002 or 2003 the "x" will be the year it is approved.

X3D is NOT the name of the standard. Inside of the new version of VRML (Part 4 to be precise) is a specification for encoding the VRML scene graph using XML. For now that Part, is called X3D. Unfortunately X3D is also a term used to describe the goal and process of defining the new standard within the Web3D Consortium. In many cases also the term X3D is simply used to describe the next generation of VRML. In fact the title of this article uses it (and it's incorrect) this way. It is useful as a way of distinguishing the old VRML from the new VRML and has the advantage of not dealing with the unfortunate stigma the term "VRML" encounters in the USA. Also inside of VRML200x (specifically Part 3) is another encoding of the scene graph, the UTF-8 encoding. This is the exact same encoding as exists in VRML97. Translation - the old VRML syntax does not go away.

It is very instructive to look at the structure of the VRML200x draft. While most people have the impression that the main improvement to VRML97 is the XML encoding of the scene graph, that is only one aspect.
Parts Description
Part 1--Functional specification Part 1 contains the abstract functional specification along with definitions of the standardized profiles.
Part 2--Scene authoring interface Part 2 contains a specification for the abstract authoring interface along with language bindings for IDL, Java, and ECMAScript and mechanisms for accessing the services via DOM.
Part 3--UTF-8 encoding Part 3 contains the UTF-8 encoding of the abstract functionality (VRML 97 style encoding).
Part 4--XML encoding (X3D) Part 4 contains the XML encoding of the abstract functionality (X3D style encoding).
Part 5--Binary encoding Part 5 contains the Binary encoding of the abstract functionality.

It is HIGHLY LIKELY that the above arrangement of Parts will change! So don't count on that particular ordering.

Next Page Parts is Parts >Page 1,2