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!