|
Resources | Buyer's Guide | FAQs | Newsletter | Tech Jobs | Safari Bookshelf | |
O'Reilly Mac OS X Conference: October 27-30, 2003 | |
Annotated XML What is XML? What is XSLT? What is XSL-FO? What is XLink? What is XML Schema? What is XQuery? What is RDF? What is RSS? What are Topic Maps? What are Web Services? What are XForms? XSLT Recipe of the Day Manage Your
Account Syntax Checker Traveling to a Tech Show?
|
Extensible 3D: XML Meets VRMLby Len BullardAugust 06, 2003
Remember VRML?The remark quoted above, to paraphrase Mark Twain, is an example of "what we know that just ain't so". The Virtual Reality Modeling Language is very much alive and being used to solve real problems. In this article, we will examine the new VRML standard, Extensible 3D (X3D), as well as software and other resources available to support it. Examples and a short tutorial on the new X3D XML-format are provided. Why Do They Say Such Things?Ever since the meteoric rise of HTML, the dot-com explosion and then implosion, a criterion for success on the Web has been speed of adoption. Some say that open standards are critical to success; others claim that proprietary systems do well if supported by lots of marketing cash and free products. Some say it simply comes down to the View Source test. It is evident that the success of a product or standard on the Web is just as complicated as in any other market and depends on many factors of which these are just more extreme positions. VRML never died or went away; yet it's clearly not the juggernaut that XML or HTML are. Why not?
A real-time, 3D multimedia language is not meant to be ubiquitous in the sense that all web designers will learn and apply it. VRML is a language for animators and modellers who are specialists. VRML is meant to be perform well. If that requirement had been made of HTML, HTML would be Postscript. Even in the fields it is designed for, more optimum languages exist for more narrow applications, but VRML nicely hits the sweetspot of complexity, capability, and performance. And for those who value standards, it is standard. To those who say it is a dead language, has no real use, or solves no real problems, they're simply wrong. With VRML the artistry of 3D animation and the disciplines of software programming and object-oriented design merge in a multimedia/hypermedia modeling language to enable some of the most compelling and useful content on the Web. Who is Using VRML TodayThe use of the VRML97 standard has been steadily increasing ever since the first beta VRML browsers were introduced. These are published to the Web or closed systems where they serve multiple purposes such as education, training, or entertainment. Universities, architectural design firms, emergency management training firms, engineering firms, and others have discovered that VRML really is the cheap, ubiquitous way to rapidly simulate things like
Companies like Bitmanagement Software GmbH, which supports the Contact VRML97 browser, and Parallel Graphics, which develops Cortona VRML97 browser have steadily improved their browsers: increased rendering speed, smaller downloads, and language extensions (many of which are now in the new X3D standard). These are a few examples that illustrate the intense commitment VRML artists and engineers have to their work and the language. What Is New With VRML? X3DThe new web 3D standard is X3D/ Extensible 3D. Open source libraries and commercial plugins have already been released in beta for this new standard. Exporters from commercial editors and dedicated editors are in development. Freeware editors are already available. What features of X3D distinguish it from VRML97? According to Tony Parisi, from Media Machines Inc., the most important new features are the following.
Another important goal was to create specification which would allow the widest possible interoperability; that the worlds created would render and behave identically in different implementations. VRML97 makes it 80% of the way to this goal, but that isn't good enough in a graphics app. For the VRML97 authors, getting identical rendering fidelity and behavioral fidelilty from multiple browsers for the same world was difficult. Has this goal been met in X3D? Tony Parisi says that
Given the early tests, it appears that this goal is close to being achieved, but it will take more time and practice to determine how close is close enough. Work on the standard at the Web3D Consortium in partnership with ISO is ongoing. This relationship between ISO and the Web3D Consortium is one of the most successful and open of any involving ISO and a web standard. Richard Puk, the ISO/IEC JTC1/SC24 Liaison to the Web3D Consortium, says that
Why XML?The original syntax for VRML 1.0 and VRML97 is the so-called curly bracket syntax familiar to C and C++ programmers. It is compact, has very fast parsing speed, and is context free. The following is an X3D example of a red sphere and a blue box lit by a directional light. This is an example of the new VRML Classic syntax.
Parsing speed was very important to early VRML work because performance is the sine qua non of real time animation. Given that RelaxNG sports a similar compact syntax, having syntax alternatives isn't that controversial in the XML world. While the decision to provide an XML syntax was quite controversial in the early days of designing the successor to VRML97, few dispute the wisdom of that decision today. According to Yumetech President, Alan Hudson, who is chair of the Web3D Open Source Working Group, the reasons are that
While sharp eyed XML veterans will quickly note that XML cannot guarantee item three, the application of other XML application languages such as XSLT are considered sufficient reason to demand an XML encoding. The example above when encoded as XML looks like this:
The rendering for the XML encoding looks like the following image: Note that a VRML Classic encoded world will not render in a VRML97 browser. Although the two browsers cited in this article both render VRML97, that is not an X3D standard requirement, though many consider it a market requirement. Those that want to experiment with the examples in this article should download one or both of the browsers described here. |
|
Contact Us | Our Mission | Privacy Policy | Advertise With Us | Site Help | Submissions Guidelines | |
Copyright © 2003 O'Reilly & Associates, Inc. |