VRML Tutorial
VRML Primer and Tutorial
As Mark Pesce [Pesce, 1995, p. 16] points out, the WWW had two fundamental dimensions: connectivity (the http protocol) and interface (i.e. the rendering of content, especially HTML and embedded URLS). VRML inserts itself seamlessly in the Web's connectivity. VRML browsers can access other VRML files via an URL. They can access any other format that then is passed to another application (e.g. an HTML browser or a HTML window). On the other hand HTML browsers can be configured to fire up VRML helper applications (or plug-ins). HTTP servers, finally, can be configured to tell the client that a VRML (*.wrl) document is transferred.
A short word on its history: The major impulse for VRML can be traced back to a ``birds of the feature sessions'' on ``Virtual Reality Markup Languages'' at the First International Conference on the World-Wide-Web, May 25-27, 1994 at CERN in Geneva. It's conceptual origins are older, e.g. (a) Science Fiction literature (e.g. [Gibson, 1994], [Stephenson, 1992]), (b) Mark Pesce's, P. Kennard's and Toni Parisi's ``Labyrinth'' system ([Pesce et al., 1994]) and proposal for a 3-D navigation and representation scheme and (c) more generally 3-D computer graphics (including VR). Based upon SGI's ``Open Inventor'' format, a almost final draft for VRML 1.0 was presented at the second WWW conference in fall 94 in Chicago. On April 3, 1995 SGI presented WebSpace, the first publicly available VRML browser. So all in all it took about a year to set standards and make the first browser available. Since VRML is a relatively simple format building upon a well defined standard, very quickly a number of modeling tools and convertors also became available.
In the next sections we will look at simple static VRML scences. These are built with VRML's symbolic description language. Note different VRML browsers all have a different user interface (e.g. for navigation and object examination). They also render things a bit differently. Most will also give you a ``quality'' choice (e.g. faster renderning and lower quality vs. slower rendering but better quality. For now, let's just assume that the user can move himself though 3D space by moving a camera through the space (and therefore what he sees on the display is what sees ``his'' camera).
VRML Interactive Tutorial
VRML Audio Tutorial
Texture Mapping in VRML
Whenever you see the word "example" highlighted on the page, you can click on it to see a VRML illustration of the process being discussed. I've put copies of the examples in the text to make it easier to see the syntax. I would suggest that you save the examples to your disk and modify them to help you understand the concepts we'll be talking about. Several people have asked me to make an archive containing all of the examples available for downloading. The archive for the VRML 1.0 section is called tex-examples.tar.gz.
There are several good books about VRML on the market and all of them discuss texture mapping. I would suggest that anyone interested in VRML get one or two and read up on the subject. Rest assured that any book you find will be at least partially out of date by the time it's published, but the basic information will still be very useful.
Introduction to VRML
VRML 2.0 is a scene description language which is human readable. There is currently no ratified API associated with VRML. The language has the following capabilities:
- Built in geometric primitives including face sets and solids
- Lighting, material, texure, movie control
- Spatialised sound
- Absolute time for animations
- The concept of an avatar to allow collision detection
- Hyperlinking, viewpoints and navigation methods
- The ability to extend the language through prototyping
- Event handling to detect when geometry is interacted with in some way
- Routing of events to allow one object to affect another
- Scripting in various languages which allows logic in the world
VRML files describe a scene graph structure which is parsed by a browser. The browser may be a plug-in for a web browser or a helper application.The scene graph is composed of nodes which fall into two categories, grouping nodes and others. These nodes may have routes between them, above and beyond the scene graph hierarchy, which define the possible interactions of one node with another. Nodes have fields which define what actual values the node has associated with it.
Within this scene graph certain special nodes, known as bindable, have stacks associated with them which allow them to be pushed and popped to control certain world parameters.
Confused? Don't be, all this is explained in the concepts sections. The bottom line is this, it has never been easier to write 3D graphics.
Introduction to VRML 97
- General information, such as this preface
- 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.