VRML

VRML (Virtual Reality Modeling Language, pronounced vermal, or by its initials, known before 1995 as Virtual Reality Markup Language) is a standard 3-dimensional (3D) interactive vector graphics file format designed for the World Wide Web. It has been succeeded by X3D.

VRML files
VRML uses text files. The vertices, edges, surface colors, UV-mapped textures, shininess, transparency and more of a 3D polygon can be specified. Graphical components can be made to fetch web pages or other VRML files from the Internet from URLs when the user clicks on the graphical component. Animations, sounds, lighting, and other things about the virtual world can interact with the user or can happen when external events say so, such as timers. A special Script Node allows program code (such as program code in Java or ECMAScript) to be added to a VRML file.

VRML files are commonly called "worlds" and have the .wrl extension (for example, a VRML file can be called island.wrl). VRML files are in plain text and usually compress well using gzip, which is useful to transfer them over the Internet faster (some files compressed using gzip use the .wrz extension). Many 3D modeling programs can save objects and scenes in VRML format.

Standardization
The Web3D Consortium was started to develop the format further. The International Organization for Standardization (ISO) have made VRML and its successor, X3D,  international standards.

The first version of VRML was specified in November 1994. It was specified from, and looked a lot like, the API and file format of the Open Inventor software component, originally developed by SGI. The development of version 2.0 was guided by the ad-hoc VRML Architecture Group (VAG). A working draft was published in August 1996. Formal collaboration between the VAG and SC24 of ISO began in 1996, and VRML 2.0 was submitted to ISO to be used as an international standard. The current and functionally complete version is VRML97 (ISO/IEC 14772-1:1997). X3D (ISO/IEC 19775-1) has succeeded VRML.

Emergence, popularity, and rival technical upgrade

Dave Raggett created the term VRML in a paper he wrote called “Extending WWW to support Platform Independent Virtual Reality”, which was submitted to the First World Wide Web Conference in 1994, and first discussed at the WWW94 VRML BOF, which Tim Berners-Lee started. There, Mark Pesce showed the Labyrinth demo he developed with Tony Parisi and Peter Kennard. VRML was introduced to a wider audience in the SIGGRAPH Course, VRML: Using 3D to Surf the Web in August 1995. In October 1995, at Internet World, Template Graphics Software (TGS) demonstrated a 3D/VRML plug-in for the beta release of Netscape 2.0 by Netscape Communications.

In 1997, a new version of VRML, VRML97 (also known as VRML2 or VRML 2.0), was finalized, and became an ISO standard. VRML97 was used on the Internet on some personal homepages and sites, such as "CyberTown", which used Blaxxun Software to allow 3D chat to be possible. SGI's Cosmo Software supported the format. When SGI restructured in 1998, the division was sold to the VREAM Division of Platinum Technology, which was then taken over by Computer Associates, which did not develop or distribute the software. Because of that, various proprietary Web 3D formats came out over the next few years, including Microsoft Chrome and Adobe Atmosphere, neither of which is supported today. VRML's capabilities were mostly the same while realtime 3D graphics kept improving. The VRML Consortium changed its name to the Web3D Consortium, and began work on the successor to VRML, which is X3D.

SGI ran a web site at vrml.sgi.com that hosted a string of regular short performances of a character called "Floops", who was a VRML character in a VRML world. A company called "Protozoa" created Floops.

H-Anim is a standard for animated Humanoids, which is based around VRML, and later X3D. The first version of the H-Anim standard, 1.0, was supposed to be submitted at the end of March 1998.

VRML never saw much serious widespread use, possibly because most users, such as business users and personal users, had low bandwidth and slow dial-up Internet access.

VRML was mostly experimented with in education and research, where an open specification is most valued. It has now been developed into X3D. The MPEG-4 Interactive Profile (ISO/IEC 14496) was based on VRML (now on X3D), and X3D is largely backwards-compatible with it. VRML is also widely used as a file format to distribute 3D models, mostly from CAD systems.

A free version of VRML for multiple platforms called OpenVRML is available. Its libraries can be used to add both VRML and X3D support to applications, and a GTK+ plugin that allows VRML/X3D worlds to be rendered in web browsers is available.

In the 2000s, many companies, such as Bitmanagement, improved the quality level of virtual effects in VRML to the quality level of DirectX 9.0c using proprietary solutions. All main features like game modeling are already complete. They include multi-pass render with low level setting for Z-buffer, BlendOp, AlphaOp, Stencil, Multi-texture, Shader with HLSL and GLSL support, realtime Render To Texture, Multi Render Target (MRT) and PostProcessing. Many demos show VRML supports lightmap, normalmap, SSAO, CSM and Realtime Environment Reflection and other virtual effects.

Alternatives

3DMLW: 3D Markup Language for Web
COLLADA: managed by the Khronos Group
O3D: developed by Google
U3D: Ecma International standard ECMA-363
X3D: successor of VRML

Related pages

Active Worlds virtual reality – multi-user 3D chat platform
Additive Manufacturing File Format
Blaxxun virtual reality – multi-user 3D chat platform
Flux – freely downloadable VRML/X3D editor/browser, now discontinued
List of vector graphics markup languages
MeshLab – open source mesh processing system that can export VRML/X3D
OZ Virtual
Seamless3d – free Open Source 3D modeling software for Microsoft Windows
STL – STereoLithography or Standard Tessellation Language, common to CAD software and 3D printing. 
Virtual Environment Software
Virtual tour
Web3D
WebGL
WebVR

References

Other websites

comp.lang.vrml newsgroup

Code samples
VRML examples from the VRML Sourcebook (to get the example VRML code, click on a chapter, then on a figure)

Documentation

VRML Annotated Reference 
VRML ISO/IEC 14772 standard document
VRML and X3D description
Extensible 3D: XML Meets VRML
Web3D Consortium
H-Anim working group 
Articles by Sandy Ressler formerly on About.com

Internet
Computer file formats
ISO standards
Graphics
Computing