3D Animation Workshop: Lesson 30: VRML 97--Touch and Go!
Lesson 30 - VRML 97--Touch and Go! - Part 1
As promised in the previous lesson, we'll make the critical leap into VRML 97 interactivity this time, but a couple of newsworthy events demand our attention.
The first is the release of the final version of Cosmo Player 2 from Silicon Graphics Incorporated (SGI). Some earlier columns here encouraged interested persons to download the beta version of this important product to get a feel for the immediate future, but the software was, of course, still in the development stage. With the final release, I cannot advise the reader more strongly to visit the Cosmo site for a 3MB download that took me only half an hour on a 28.8 modem connection. To a near certainty, this browser will be the dominant client platform for VRML for the foreseeable future and the aspiring VRML developer must understand its capabilities and its interface. For whatever reason, Microsoft is not yet positioning itself to compete and seems to be abdicating this product category to SGI. The Microsoft Internet Explorer 4 download (or CD ROM) offers a VRML 2.0 browser that is effectively the InterVista VRML client without the InterVista name. But this download option is hardly being promoted, and I didn't even notice it when I installed MSIE 4.
The key elements of the new Cosmo Player are an advanced interface and support for OpenGL rendering hardware. The interface issue is an important one. Navigating in real time through 3-D coordinate space on a computer monitor is hardly an intuitive business, and if VRML is really going to take off on the Web, a very large audience must be comfortable with the process. VRML navigation must be fun and exciting, not frustrating and confusing. The new Cosmo interface is an ambitious stab at the problem, and SGI is taking the learning issue seriously. The installation comes with a clever tutorial in the form of a game, called "CHOMP." The user becomes a shark cruising the ocean for fish, fowl, and even surfers to eat. Playing the game will definitely break you into the new interface and the whole conceptual problem of navigating VRML space. It should also alert the developer to the difficulties facing his or her audience. VRML is interactive, and interactivity necessarily requires acquired skills on the part of the viewer-participant.
The second significant event folds nicely into the first. Microsoft has announced that it will be effectively abandoning its Direct 3D technology in favor of OpenGL. Both Direct 3D and OpenGL are standards for rendering (displaying) 3D graphics in real-time. OpenGL is very well established and is used on all the professional-level 3D modeling and animation packages on the Windows operating system. Indeed, Autodesk (Kinetix) gave up on its competing HEIDI technology when it recently released 3D Studio MAX 2. This was a critical acknowledgment that there was no longer room for competing standards for a rendering API (applications programmer's interface). Manufacturers of high-end graphics hardware were simply not willing to support two standards.
Microsoft had jumped in with its Direct 3D for the lower-end consumer and games market, but now seems to agree that a single standard is best for all levels of 3D graphics performance. With OpenGL being utilized on graphics cards from the top to the bottom ends of the price spectrum, the future of interactive 3D graphics suddenly has grown even brighter. This decision by Microsoft will obviously pay off for Cosmo, as VRML developers can expect their audience to increasingly migrate to OpenGL graphics hardware powerful enough for commercially viable VRML experiences. I'm a big believer in standards, and Microsoft is helping the situation by both withdrawing from competition with OpenGL and (to all present appearances) allowing Cosmo to establish the dominant VRML browser base.
Last time, we introduced animation in VRML 97 in the simplest possible way. A primitive cube moved in a loop across the screen, demonstrating the key concepts of a TimeSensor (the clock) and an Interpolator which converted changes in time into changes in the values of objects on the screen. Routing was introduced as the connection device between these different nodes. But there was yet no interactivity.
|To Continue to Parts 2 and 3, Use Arrow Buttons||
Created: December 23, 1997
Revised: December 23, 1997