# VRML

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

## WRL file format

VRML is a text file format where, e.g., 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 webpage 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 ECMAScript) to a VRML file.
VRML files are commonly called "worlds" and have the .wrl extension (for example, island.wrl). VRML files are in plain text and generally compress well using gzip, useful for transferring 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.

## Standardization

The Web3D Consortium has been formed to further the collective development of the format. VRML (and its successor, X3D), have been accepted as international standards by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC).
The first version of VRML was specified in November 1994. This version was specified from, and very closely resembled, the API and file format of the Open Inventor software component, originally developed by SGI. Version 2.0 development 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/IEC began in 1996 and VRML 2.0 was submitted to ISO for adoption as an international standard. The current and functionally complete version is VRML97 (ISO/IEC 14772-1:1997). VRML has now been superseded by X3D (ISO/IEC 19775-1).

## Emergence, popularity, and rival technical upgrade

The term VRML was coined by Dave Raggett in a paper called "Extending WWW to support Platform Independent Virtual Reality" submitted to the First World Wide Web Conference in 1994, and first discussed at the WWW94 VRML BOF established by Tim Berners-Lee, where Mark Pesce presented 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 the format was finalized, as VRML97 (also known as VRML2 or VRML 2.0), and became an ISO/IEC standard. VRML97 was used on the Internet on some personal homepages and sites such as "CyberTown", which offered 3D chat using Blaxxun Software, as well as Sony's SAPARi program, which was pre-installed on Vaio computers from 1997 to 2001. The format was championed by SGI's Cosmo Software; 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. To fill the void a variety of proprietary Web 3D formats emerged over the next few years, including Microsoft Chrome and Adobe Atmosphere, neither of which is supported today. VRML's capabilities remained largely 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—X3D.
SGI ran a web site at vrml.sgi.com on which was hosted a string of regular short performances of a character called "Floops" who was a VRML character in a VRML world. Floops was a creation of a company called Protozoa.
H-Anim is a standard for animated Humanoids, which is based around VRML, and later X3D. The initial version 1.0 of the H-Anim standard was scheduled for submission at the end of March 1998.
VRML has never seen much serious widespread use. One reason for this may have been the lack of available bandwidth. At the time of VRML's popularity, a majority of users, both business and personal, were using slow dial-up Internet access.
VRML experimentation was primarily in education and research where an open specification is most valued. It has now been re-engineered as X3D. The MPEG-4 Interactive Profile (ISO/IEC 14496) was based on VRML (now on X3D), and X3D is largely backward-compatible with it. VRML is also widely used as a file format for interchange of 3D models, particularly from CAD systems.
A free cross-platform runtime implementation of VRML is available in OpenVRML. Its libraries can be used to add both VRML and X3D support to applications, and a GTK+ plugin is available to render VRML/X3D worlds in web browsers.
In the 2000s, many companies like Bitmanagement improved the quality level of virtual effects in VRML to the quality level of DirectX 9.0c, but at the expense of 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 shows that VRML already supports lightmap, normalmap, SSAO, CSM and Realtime Environment Reflection along with other virtual effects.

## Example

This example shows the same scene as X3D § Example.

## Early criticism

In a March 1998 ACM essay, "Playfulness in 3D Spaces -- Why Quake is better than VRML, and what it means for software design", Clay Shirky sharply criticised VRML as a "technology in search of a problem", whereas "Quake does something well instead of many things poorly...The VRML community has failed to come up with anything this compelling -- not despite the community's best intentions, but because of them. Every time VRML practitioners approach the problem of how to represent space on the screen, they have no focused reason to make any particular trade-off of detail versus rendering speed, or making objects versus making spaces, because VRML isn't for anything except itself. Many times, having a particular, near-term need to solve brings a project's virtues into sharp focus, and gives it enough clarity to live on its own."

## 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
* glTF: created by the Khronos Group, successor of Collada