VRML is abbreviation for Virtual Reality Modelling Language. It lets you put three dimensional, interactive worlds on web pages. VRML is, in the words of the VRML Consortium, "an open standard for 3D multimedia and shared virtual worlds on the Internet", is a scene description language that describes the geometry and behavior of a 3D scene or "world". Web3D is the new name for VRML.
VRML was recognized as an international standard (ISO/IEC-14772-1:1997) by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) in December, 1997.
VRML worlds can be single files or groups of files that load at the same time. They can range from simple objects to very complex scenes, scripted in a plain UTF-8 or ASCII (a subset of the UTF-8 character set) text file. A VRML file may be compressed using gzip, a freely available utility, and may be created, viewed, and edited in any plain text editor.
Vertices and edges for a 3D polygon can be specified along with the surface color, UV mapped textures, shininess, transparency, and so on. URLs can be associated with graphical components so that a web browser might fetch a web-page or a new VRML file from the Internet when the user clicks on the specific graphical component. Animations, sounds, lighting, and other aspects of the virtual world can interact with the user or may be triggered by external events such as timers. A special Script Node allows the addition of program code (e.g., written in Java or JavaScript (ECMAScript)) to a VRML file.
The MIME type of a VRML file is "model/vrml", although some servers may deliver it as the older MIME type "x-world/x-vrml". The spec requires VRML browsers to support both MIME types. If you administer a web server, you should use the official type, not the older "x-" type.
VRML files are commonly called "worlds" and have the *.wrl extension (for example island.wrl). Although VRML worlds use a text format they may often be compressed using gzip so that they transfer over the internet more quickly (some gzip compressed files use the *.wrz extension). Many 3D modeling programs can save objects and scenes in VRML format.
The plug-in to view these is widely available in many platforms.
Features of VRML (as specified on 1.0 version)
- Standard objects (cube, sphere, cone, cylinder, text)
- Arbitrary objects (surfaces, linesets, pointsets)
- Ability to fly through, walk through, examine scenes
- Lights
- Cameras (viewpoints)
- Textures on objects
- Clickable links
- Define and reuse objects
Altough VRML 1.0 worlds are static, with introduction of VRML 2.0 worlds can move and interact with the visitor to those worlds.
VRML 2.0 Features:
- Animated objects
- Switches
- Sensors
- Scripts (Java or JavaScript) for behaviors
- Interpolators (color, position, orientation, etc.)
- Extrusions
- Background colors and textures
- Sound (.wav and MIDI)
- Animated textures
- Event routing
- Define and reuse objects and behaviors and effectively add new nodes to the language with PROTO and EXTERNPROTO
Another very important difference is that VRML 97 is an international spec approved by the International Organization for Standards: ISO/IEC-14772-1:1997.
The first line of every VRML 97 file starts with:
#VRML V2.0 utf8
and the first line of every VRML 1.0 file starts with:
#VRML V1.0 ascii
Many, but not all, VRML 97 browsers will read and properly render VRML 1.0 files. No VRML 1.0 browser will read and properly render VRML 97 files. Furthermore, VRML 97 becomes VRML 2.0 standard.
Here is the sample of VRML script...
#VRML V2.0 utf8
# Red cone
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Cone {
bottomRadius 0.75
height 1.6
}
}
VRML Specification is available from http://www.vrml.org/Specifications/. For more information, visit VRML FAQ @ comp.lang.vrml
Please note that VRML is obsolete standard and now has been superseded by X3D (ISO/IEC 19775-1)