VRML97 Tutorial

This page now covers 99% of the VRML spec, and the only sections left are Java Scripting and Optimisation. Part 1 introduces VRML, letting you create simple objects. Part 2 covers more advanced objects, and how to make them more realistic. Part 3 covers animation and interaction, showing how you can make your worlds more exciting. Part 4 unleashes the power of VRML scripting with ECMAScript, bringing more complex behaviours to your worlds.

The official version of this tutorial is at Floppy's VRML Guide, at http://www.vapourtech.com/vrmlguide. If you're not looking at it there, it might have been updated since. Legal information related to acceptable use of this tutorial is laid out in the legal page of the main site. If you're considering reproducing this material for anything other than personal use, please read it.

This tutorial is not intended as a be-all and end-all reference guide. It's only meant to get you started. Once you've got the basics from here, I suggest you go away and learn the detail, either from the specification or from the 'Annotated VRML 2.0 Reference Manual'. If you want to learn offline, you might be interested to know that you can download a zipfile of the entire tutorial. There is more information at the bottom of the page. Printing this tutorial may be difficult unless you force your browser to use black text on a light background. I read this page on a screen, and find white on black much easier on the eyes.

Please note, all the examples in this tutorial (and everything else on this site) are tested with Netscape 4.51 and Cosmo Player 2.1 rendering with OpenGL. I don't have time to try the examples out in other browsers, so if there are any problems, let me know. If something doesn't seem right, just let me know. If you do contact me, and you are not using the official version of this tutorial, please tell me the URL of the version you are using.

Part 1: The Basics

0. Getting Started
The very first things you need to know to get started, including the basic file structure.
1. In The Beginning...
Covering the basic WorldInfo and Shape nodes, and how to get a simple box in your world.
2. Spin Spin Sugar
Co-ordinate systems, axes, and transformations.
3. Keeping Up Appearances
Appearances, materials and textures; changing the look of your objects.
4. The Shape Of Things To Come
Basic geometry nodes: boxes, spheres, cones, cylinders and text.
5. Get Off My Land!
Escaping to the outside world.
6. Techy Stuff
Essentials of fields, events, routes, and prototypes.

Part 2: Adding Realism

7. I Can See My House From Here!
Adding cameras to your scenes.
8. Over The Hills And Far Away...
Giving your world some distance with background and fog.
9. The Church of Noise
Adding sound and music to your worlds.
10. Objects Of Desire
Advanced shapes, like Extrusions, IndexedFaceSets, and ElevationGrids.
11. Are You Normal?
Normals, colours, and so on for the advanced objects.
12. Light Of My Life
Adding proper lighting to your worlds, and making it work, too.
13. Slightly Rippled, With A Flat Underside
Advanced texturing with textureCoordinates and TextureTransforms.
14. Move Over I'll Drive
Customising your world with the NavigationInfo node.
15. Let's Twist Again...
Using the Billboard node to create user-facing geometry, and some more uses of the humble Transform node.

Part 3: Bringing Your Worlds To Life

16. More Power, Igor!
A review of the basics of VRML animation.
17. There's Klingons On The Starboard Bow...
Using environmental sensors.
18. It's Rude To Point
Getting input with pointing-device sensors.
19. Inbetweener
How to use interpolators for animation.
20. A Change Is As Good As A Rest
Changing the appearance of your world with bindable nodes.
21. It's Life, Jim, But Not As We Know It
Creating advanced behaviours with Script nodes.
22. Smack My Switch Up
Changing the world around with Switch nodes.

Part 4: Scripting with ECMAscript

23. More Tea, Vicar?
An introduction to programming with ECMAScript.
24. Loop The Loop
More about ECMAScript statements.
25. Bodily Functions
The basic VRML scripting framework.
26. Unidentified Flying Objects
A look at Objects in ECMAScript, and how VRML97 uses them.
27. As If By Magic
Using the Browser object, and how to create objects from thin air.


Quick Node Reference
The full syntax of every node.
File Structure Summary
A summary of the VRML file structure.
Tutorial Index
What is covered in each tutorial.
Download Tutorial 363k
If you want to read this tutorial offline, you can download a zipfile of the whole lot.
Beware! Long filenames!

Sitemap © Copyright 1999 Vapour Technology - vrmlguide@vapourtech.com - http://www.vapourtech.com/vrmlguide