Introduction to VRML 97

Preface

Welcome to the Introduction to VRML 97 tutorial notes! These tutorial notes have been written to give you a quick, practical, example-driven overview of VRML 97, the Web's Virtual Reality Modeling Language. To do this, I've included over 500 pages of tutorial material with nearly 200 images and over 100 VRML examples.

To use these tutorial notes you will need an HTML Web browser with support for viewing VRML worlds. An up to date list of available VRML browsing and authoring software is available at:

What's included in these notes

These tutorial notes primarily contain two types of information:

  1. General information, such as this preface
  2. Tutorial slides and examples

The tutorial slides are arranged as a sequence of 500+ hyper-linked pages containing VRML syntax notes, VRML usage comments, or images of sample VRML worlds. Clicking on a sample world's image, or the file name underneath it, loads the VRML world into your browser for you to examine yourself.

You can view the text for any of the VRML worlds using a text editor and see how I created a particular effect. In most cases, the VRML files contain extensive comments providing information about the techniques the file illustrates.

The tutorial notes provide a necessarily terse overview of VRML. I recommend that you invest in one of the VRML books on the market to get thorough coverage of the language. I am a co-author of one such VRML book, The VRML 2.0 Sourcebook. Several other good VRML books are on the market as well.

A word about VRML versions

VRML has evolved through several versions of the language, starting way back in late 1994. These tutorial notes cover VRML 97, the latest version of the language. To provide context, the following table provides a quick overview of these VRML versions and the names they have become known by.



Version Released Comments

VRML 1.0 May 1995 Begun in late 1994, the first version of VRML was largely based upon the Open Inventor file format developed by Silicon Graphics Inc. The VRML 1.0 specification was completed in May 1995 and included support for shape building, lighting, and texturing.

VRML 1.0 browser plug-ins became widely available by late 1995, though few ever supported the full range of features defined by the VRML 1.0 specification.

VRML 1.0c January 1996 As vendors began producing VRML 1.0 browsers, a number of ambiguities in the VRML 1.0 specification surfaced. These problems were corrected in a new VRML 1.0c (clarified) specification released in January 1996. No new features were added to the language in VRML 1.0c.

VRML 1.1 canceled In late 1995, discussion began on extensions to the VRML 1.0 specification. These extensions were intended to address language features that made browser implementation difficult or inefficient. The extended language was tentatively dubbed VRML 1.1. These enhancements were later dropped in favor of forging ahead on VRML 2.0 instead.

No VRML 1.1 browsers exist.

Moving Worlds January 1996 VRML 1.0 included features for building static, unchanging worlds suitable for architectural walk-throughs and some scientific visualization applications. To extend the language to support animation and interaction, the VRML architecture group made a call for proposals for a language redesign. Silicon Graphics, Netscape, and others worked together to create the Moving Worlds proposal, submitted in January 1996. That proposal was later accepted and became the starting point for developing VRML 2.0. The final VRML 2.0 language specification is still sometimes referred to as the Moving Worlds specification, though it differs significantly from the original Moving Worlds proposal.

VRML 2.0 August 1996 After seven months of intense effort by the VRML community, the Moving Worlds proposal evolved to become the final VRML 2.0 specification, released in August 1996. The new specification redesigned the VRML syntax and added an extensive set of new features for shape building, animation, interaction, sound, fog, backgrounds, and language extensions.

While multiple VRML 2.0 browsers exist today, as of this writing, none are complete. All of the browsers are missing a few features. Fortunately, most of the missing features are obscure aspects of VRML.

VRML 97 September 1997 In early 1997, efforts got under way to present the VRML 2.0 specification to the International Standards Organization (ISO) which oversees most of the major language specifications in use in the computing community. The ISO version of VRML 2.0 was reviewed and the specification significantly rewritten to clarify issues. A few minor changes to the language were also made. The final ISO VRML was dubbed VRML 97. The VRML 97 specification features finalized in March 1997, while the specification's text finalized in September 1997.

Most major VRML 2.0 browsers are now VRML 97 browsers.

VRML 1.0 and VRML 2.0 differ radically in syntax and features. A VRML 1.0 browser cannot display VRML 2.0 worlds. Most VRML 2.0 browsers, however, can display VRML 1.0 worlds.

VRML 97 differs in a few minor ways from VRML 2.0. In most cases, a VRML 2.0 browser will be able to correctly display VRML 97 files. However, for 100% accuracy, you should have a VRML 97 compliant browser for viewing the VRML files contained within these tutorial notes.

How I created these tutorial notes

These tutorial notes were developed primarily on Silicon Graphics High Impact UNIX workstations. HTML and VRML text was hand-authored using a text editor. A Perl program script was used to process raw tutorial notes text to produce the 500+ individual HTML files, one per tutorial slide.

HTML text was displayed using Netscape Navigator 3.01 on Silicon Graphics and PC systems. Colors were checked for viewability in 24-bit, 16-bit, and 8-bit display modes on a PC. Text sizes were chosen for viewability at a normal 12 point font on-screen, and at an 18 point font for presentation during the tutorial. The large text, white-on-black colors, and terse language are used to insure that slides are readable when displayed for the tutorial audience at the conference.

VRML worlds were displayed on Silicon Graphics systems using the Silicon Graphics Cosmo Player 1.02 VRML 97 compliant browser for Netscape Navigator. The same worlds were displayed on PC systems using three different VRML 2.0 compliant browsers for Netscape Navigator: Silicon Graphics Cosmo Player 2.0 beta 1, Intervista WorldView 2.0, and Newfire Torch beta.

Texture images were created using Adobe PhotoShop 4.0 on a PC with help from KAI's PowerTools 3.0 from MetaTools. Image processing was also performed using the Image Tools suite of applications for UNIX workstations from the San Diego Supercomputer Center.

PDF tutorial notes for printing were created by dumping individual tutorial slides to PostScript on a Silicon Graphics workstation. The PostScript was transferred to a PC where it was converted to PDF and assembled into a single PDF file using Adobe's Distiller and Exchange.

Use of these tutorial notes

I am often asked if there are any restrictions on use of these tutorial notes. The answer is:

These tutorial notes are copyright (c) 1997 by David R. Nadeau. Users and possessors of these tutorial notes are hereby granted a nonexclusive, royalty-free copyright and design patent license to use this material in individual applications. License is not granted for commercial resale, in whole or in part, without prior written permission from the authors. This material is provided "AS IS" without express or implied warranty of any kind.

You are free to use these tutorial notes in whole or in part to help you teach your own VRML tutorial. You may translate these notes into other languages and you may post copies of these notes on your own Web site, as long as the above copyright notice is included as well. You may not, however, sell these tutorial notes for profit or include them on a CD-ROM or other media product without written permission.

If you use these tutorial notes, I ask that you:

  1. Give me credit for the original material
  2. Tell me since I like hearing about the use of my material!

If you find bugs in the notes, please tell me. I have worked hard to try and make the notes bug-free, but if something slipped by, I'd like to fix it before others are confused by my mistake.

Contact

David R. Nadeau
San Diego Supercomputer Center
P.O. Box 85608
San Diego, CA 92186-9784

UPS, Fed Ex: 10100 Hopkins Dr.
La Jolla, CA 92093-0505

(619) 534-5062
FAX: (619) 534-5152

nadeau@sdsc.edu
http://www.sdsc.edu/~nadeau