from
August 2003 - Extensible 3D - X3D Graphics Version
Update (July 23, 2003):
Things continue to change on a moment to moment basis regarding all the details of X3D, but it does appear that a preferred mimetype has emerged, model/x3d+xml is the most likely official one. This makes a great deal of sense. Other XML specialty graphics (such as SVG, image/svg+xml) use similar mimetype sensibilities.
The code sample below is preset to instruct Internet Explorer to find and download the Flux plugin, but it could just as easily be set for Contact 6.101 or totally skipped. Technically, skipping the codebase is bad form, but it is done frequently when there is confusion about which plugin is best and allows the surfer to use a preferred plugin for the mimetype. The dashboard parameter causes plugins that use HUD (or similar) to NOT display the dashboard. It is optional. Specifying the type allows the browser to display an embed even in most situations where the server may not be sending a correct mimetype to the browser. Though optional, it should be used for XML conformance. The align parameter is totally optional.
As promised in the E.Mail version of The News Letter, here's sample code on how to embed X3D into your pages:
If you're on the VRML version (or using Contact 6.101 on the VRML or the X3D version), click Rhonda, she's animated. X3D supports VRML animations and most VRMLScripting.
Original story (July 1, 2003):
Extensible 3D graphics are the next generation of VRML, and represent the intersection of VRML and XML. The end result looks exactly like VRML, because it is VRML as expressed by an XML tree and XML parser.
X3D (model/x3d) is bursting onto the 'Net scene in a big way - it's no longer just an unusual filetype talked about in whispered tones by VRML visionaries with XML3 parsers. You'll still need to install an XML parser, but that's a snap if you're on a Windows machine. Either the original XML3 parser or the XML3 sp2 parser can be used. As always, install at own risk, if your computer catches on fire AND blows up, we don't care, and similar. Our test machines had no such problem. You'll also need a plugin to actually see the X3D. Pick of the litter at the moment is Flux. It has the wonderful habit of ignoring DTD errors if they're really, really small, which violates the rules for XML (X3D is a subset of XML), but that comes in handy sometimes. The DTD's for X3D change from time to time with little public warning, and even the official website for X3D posts the wrong ones sometimes. As of this writing they have incorrect ones posted. Hopefully they'll fix things soon. Installing the wonderful XML editor X3d-Edit will install local copies of the DTD's, which usually fixes most DTD problems.
You'll also need a working X3D plugin, or renderer. While the Bitmanagement.DE folks offer an excellent VRML viewer with X3D capabilities, it's not recommended at this time due to install problems. On Windows machines using Internet Explorer, Flux is an excellent X3D plugin. Most likely, a suggested download window asked you to install it when this page first loaded. If you're on a Windows machine using Internet Explorer and you swatted that window down, you can manually download the cab, unzip it, and install via the setup.exe in the unzipped file. Flux is only for Windows machines and only comes in an ActiveX for Internet Explorer at this time. The rendering quality of Flux is midpoint of OpenGL and D3D. It has the great shadows of D3D, with the subtle transparencies of OpenGL. It does have a lot of nonsupport issues still, but X3D is an emerging transitional format, the successor to VRML, so plateaus and milestones of support are to be expected.
About some of the limitations of Flux, it doesn't support many tagsets (VRML nodes are called tagsets in X3D) and only partially supports several others. MovieTexture is NOT supported in any form, animations nor sound. It also does NOT render all textures correctly in ImageTexture. CreaseAngles are sometimes ignored, but consistently, objects do not change shape based on line-of-sight nor proximity. Detailed textures that tile a lot have a tendency to get smeared into a single color sampling with little or no detail. Highly detailed textures that are not tiled may also do this. Support for VRMLScript is limited to the subset of VRMLScript that overlaps with EcmaScript (the parent language of JS and VRMLScript). Colors and lights (including colored lights) do render correctly, as does transparency. Anchors (URL hooks) are supported also. As Flux is a public Beta at this time, a gradual implementation of standards is to be expected. Also, the nonsupported nodes have not all been definitively described in the X3D specification. Future versions will most likely improve support of VRML nodes as expressed via X3D.
Though X3D will ultimately replace VRML as the 'Net standard format for Web3D, there's no huge rush to change all your files to this new format. Editors and plugins for X3D are still in their infancy. Most experts suggest that the change will take place gradually over the next one to three years. In addition, an important part of the X3D specification is that X3D plugins and viewers be able to also render well-formed VRML 97 files (backward compatibility). Further slowing the transition is the simple fact that no single aspect of the X3D specification is totally permanent yet. The exact mimetype (filetype) is still up in the air - though model/x3d or model/vrml+x3d are almost for sure the likely picks. The DTD's have changed every few months, there are actually multiple versions with the same name that are not compatible. Fortunately, most OS released since 2002 come with a functioning v3 XML parser. As with other XML subsets, X3D will ultimately be a pluginless format.
Best in any Generation 7 Browser (Netscape 8.x+, Mozilla 1.0x+,
Internet Explorer 7.x+, Opera 8.x+ and WebTV Classic, Deluxe or MSNTV
Spring 2005). For best viewing, we recommend Internet Explorer 7.x+,
Firefox 1.x+, and Opera 8.x+. These fonts are used throughout the site
(click the name, unzip and install if you are missing any - Windows
only, please) Arial, Arial Black, Arial Rounded MT
Bold, Times New Roman,
and Verdana.