VRML (Virtual Reality Modelling Language) is a hierarchical scene description language that defines the geometry and behaviour of a 3D scene or "world" and the way in which it is navigated by the user. VRML world files have the file extension .wrl (or .wrz for gzip compressed files) and require either a stand-alone application or web browser plug-in to be viewed.
VRML is the only standardised (ISO/IEC 14772) 3D format suitable for Web delivery (due to its generally small file size). It is versatile, compact, extensible and constantly evolving - theoretically there is no limit to what can be achieved with VRML given sufficient computing power.
Due to rapid advances in computing speed and the availability of comprehensive production tools web 3D technologies are becoming more appealing and accessible to the wider market. As they say "today's supercomputer is tomorrow's personal computer" - we now have enough power on the average desktop to become fully immersed in these interactive 3D environments.
VRML is not the only Web3D or Virtual Reality technology available. Now that the Web has matured and computers are sufficiently powerful, many companies are developing competing technologies. This tutorial teaches VRML because it is an internationally standardised and reasonably well supported format. The skills and theory learnt in this course are directly applicable to any Web3D or Virtual Reality format. It's just the tools and underlying code that will differ. To learn more about competing Web3D technologies check out the Links & Resources page.
| 1994 | Labyrinth | Prototype 3D interface for the Web developed by Mark Pesce and Tony Parisi |
| 1994 | VRML 1 | Developed based on Open Inventor format - described static 3D scenes |
| 1996 | VRML 2 | Silicon Graphics' Moving Worlds proposal for a VRML revision is adopted |
| 1997 | VRML97 | Recognised as an international standard by ISO and IEC (ISO/IEC 14772) |
| 2000 | VRML200x X3D |
Proposed revision to VRML97 (ISO/IEC 14772:200x) Under development .... see the Web3D Consortium for details |
VRML has a rather checkered history in political and human terms. If you're interested take a look at Bob Crispen's history links page.
As stated in the History section a revision/replacement for VRML97 has been proposed called X3D (Extensible 3D). In short it adds the following new functionality and formalises some extensions that have developed since VRML97.
Additionally VRML is included or referenced in the upcoming MPEG-4 standard, Java3D and in other developing standards.
Some of the new proprietary Web3D technologies are derivatives of VRML:
VRML is generally viewed within a Web browser like Netscape Navigator or Microsoft Internet Explorer. These browsers don't support VRML natively so therefore a plug-in is required to view VRML content. VRML plug-ins are available for most platforms, the three most popular being:
Cosmo Player (for Windows, Mac & Irix) |
|
Contact (for Windows only) |
For more information and plug-in download links visit the Links & Resources page.
A VRML world can be created with a simple text editor like Notepad but of course this means learning and understanding the syntax of VRML which is not the purpose of this introductory course. The example below illustrates what a simple VRML file looks like and what results when it is embedded in a web page with the appropriate plug-in installed.
#VRML V2.0 utf8
Shape {
geometry Sphere { radius 2 }
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
}
We will be using a program called Cosmo Worlds to assemble VRML scenes visually. It helps to understand the VRML syntax but this is not essential to create good VRML. Cosmo Worlds makes modelling, texturing, scene assembly, animation and interactivity relatively easy.
Most CAD and 3D modelling packages export the VRML format to some degree. Many other programs that can be used to assemble VRML scenes or export VRML models can be found in Links & Resources.