Introduction to VRML 97
Using the VRML examples

These tutorial notes include over a hundred VRML files. Almost all of the provided worlds are linked to from the tutorial slides pages.

VRML support

As noted in the preface to these tutorial notes, this tutorial covers VRML 97, the ISO standard version of VRML 2.0. There are only minor differences between VRML 97 and VRML 2.0, so any VRML 97 or VRML 2.0 browser should be able to view any of the VRML worlds contained within these tutorial notes.

The VRML 97 (and VRML 2.0) language specifications are complex and filled with powerful features for VRML content authors. Unfortunately, the richness of the language makes development of a robust VRML browser difficult. As of this writing, there are nearly a dozen VRML browsers on the market, but none support all features in VRML 97 (despite press releases to the contrary). Fortunately, most of the features not yet fully supported are fairly obscure.

All VRML examples in these tutorial notes have been extensively tested and are believed to be correct. Chances are that if one of the VRML examples doesn't look right, the problem is with your VRML browser and not with the example. It's a good idea to read carefully the release notes for your browser to see what features it does and does not support. It's also a good idea to regularly check your VRML browser vendor's Web site for updates. The industry is moving very fast and often produces new browser releases every month or so.

As of this writing, Cosmo Software's Cosmo Player for PCs, Macs, and Silicon Graphics UNIX workstations is the fastest, most complete, and most robust VRML 97 browser available. It is this browser that was used to test this tutorial's VRML examples.

What if my VRML browser doesn't support a VRML feature?

If your VRML browser doesn't support a particular VRML 97 feature, then those worlds that use the feature will not load properly. Some VRML browsers display an error window when they encounter an unsupported feature. Other browsers silently ignore features they do not support yet.

When your VRML browser encounters an unsupported feature, it may elect to reject the entire VRML file, or it may load only those parts of the world that it understands. When only part of a VRML file is loaded, those portions of the world that depend upon the unsupported features will display incorrectly. Shapes may be in the wrong position, have the wrong size, be shaded incorrectly, or have the wrong texture colors. Animations may not run, sounds may not play, and interactions may not work correctly.

For most worlds an image of the world is included on the tutorial slide page to give you an idea of what the world should look like. If your VRML browser's display doesn't look like the picture, chances are the browser is missing support for one or more features used by the world. Alternately, the browser may simply have a bug or two.

In general, VRML worlds later in the tutorial use features that are harder for vendors to implement than those features used earlier in the tutorial. So, VRML worlds at the end of the tutorial are more likely to fail to load properly than VRML worlds early in the tutorial.