Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Virtual Reality Modeling Language Family

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Virtual Reality Modeling Language Family
Description

Virtual Reality Modeling Language (VRML) describes interactive, networked 3D objects and virtual worlds. The specification, defined by the Web3D Consortium and ISO/IEC, describes VRML as "a 3D time-based space that contains graphic and aural objects that can be dynamically modified through a variety of mechanisms." See Disclosure for more details. VRML represents static and animated 3D objects and can include hyperlinks to other media. The goal of VRML is stated as (link via Internet Archive) "to create the infrastructure and conventions of cyberspace, a multi user space of many virtual worlds on the Net."

According to the VRML FAQ (link via Internet Archive), it is usually pronounced with the letters spelled out, "V R M L", but "its friends pronounce it 'vermel'," a phrase also used in a VRML timeline (link via Internet Archive).

VRML went through several iterations, with two major versions (1.0 and 2.0) and a 1.1 draft version. VRML 1.0 worlds were static, while VRML 2.0 worlds allowed for movement and interaction. VRML 2.0 is also referred to as VRML97 (link via Internet Archive) or ISO/IEC 14772-1:1997.

VRML files describe a time-based, interactive, 3D virtual environment. These environments can include hyperlinks and other multimedia information. The files describe all objects included in the 3D virtual environments, referred to as "worlds", along with object behaviors and events.

A crucial element of this format is that it is intended to be used in a distributed web environment. VRML can hyperlink to other files using established Internet standards. VRML worlds can change dynamically in response to user inputs, external events, and the current state of the (virtual) world. Script nodes can receive, process, and send events.

In terms of technical structure, a VRML file contains zero or more root nodes. Each node has the following characteristics: a type name, zero or more fields that define each node, a set of events that it can receive and send, implementation, and a name. VRML can describe shapes and geography, bounding boxes, light sources, sensor nodes, time sensors, grouping and children nodes, and many other types of children nodes.

The specification also supports the concept of profiles. A profile is "a named collection of functionality and requirements which shall be supported in order for an implementation to conform to that profile."

Production phase Generally used for final-state, end-user delivery.
Relationship to other formats
    Has earlier version Open Inventor File Format. VRML 1.0 is a subset of this ASCII-based format, with some additions that allow linking to URLs. From the VRML 1.0 FAQ (link via Internet Archive), "The linking out feature (WWWAnchor) provides the same feature that HREF anchors provide in HTML. Another critical feature was the LOD (level of detail) which allows the right amount of data for an object based on how prominent it is in the scene, or the rendering speed of the browsing machine." Version 1 of this format is documented in Wikidata and PRONOM. Not described separately at this time.
    Has modified version gzip, GZIP. From the VRML FAQ (link via Internet Archive), "A VRML file name may end in ".wrl.gz" or ".wrz" to indicate that the file has been gzipped."
    Has later version X3D_family, Extensible 3D (X3D) File Format Family. VRML was superseded by the XML-based X3D format (ISO/IEC 19775-1, revised by ISO/IEC 19775-1:2023).

Local use Explanation of format description terms

LC experience or existing holdings The Library of Congress has a small number of VRML files in its collections as of May 2024.
LC preference See the Library of Congress Recommended Formats Statement for format preferences for Design and 3D formats.

Sustainability factors Explanation of format description terms

Disclosure Fully disclosed by the Web3D Consortium and ISO/IEC.
    Documentation

VRML has been published as following versions, with many available at The VRML Repository (link via Internet Archive):

  • VRML 1.0 Draft Specification
  • VRML 1.0 Final Specification
  • VRML 1.0C Specification (with clarifications) (link via Internet Archive)
  • VRML 1.1 Draft Specification
    This draft was meant to (link via Internet Archive) add "a few features to do sound and simple animations, but not enough to start multi-user development." Instead of pursuing VRML 1.1, the VRML Architecture Group chose to push forward to VRML 2.0 instead.
  • VRML 2.0 Draft #1 Specification
  • VRML 2.0 Draft #2b Specification
  • VRML 2.0 Draft #3 Specification
  • VRML 2.0 Final Specification

VRML 2.0 is also known as VRML97. These are used interchangeably.

Adoption

This is considered a legacy format. Most adopters have moved to X3D, WebGL or other formats.

The specification acknowledges that VRML "may be used in a variety of application areas such as engineering and scientific visualization, multimedia presentations, entertainment and educational titles, web pages, and shared virtual worlds."

Many companies (link via Internet Archive) were involved with VRML, several browsers (link via Internet Archive) developed for VRML, several published books (link via Internet Archive), a robust official mailing list, www-vrml, and USENET newsgroup (alt.lang.vrml) (link via Internet Archive), and an additional unmoderated USENET newsgroup (comp.lang.vrml). There were additional listservs (link via Internet Archive) and newsgroups (link via Internet Archive).

    Licensing and patents None.
Transparency Transparent but requires advanced tooling and systems/browser development.
Self-documentation VRML files identify their version and encoding type.
External dependencies

VRML files are used by VRML browsers. This may be a dedicated browser or built into a web browser such as Netscape Navigator.

The VRML FAQ (link via Internet Archive), under "2.1: What browsers are available?" is "I can't keep up with these!" The VRML Repository (link via Internet Archive) provides a long list, including which VRML versions they support. W3's VRML page mentions two browsers by name: WorldView from Intervista and WebSpace from SGI.

Technical protection considerations None.

Quality and functionality factors Explanation of format description terms

Other
3D Model Geometry VRML 1.0 and 2.0 supports standard objects (cube, sphere, cone, cylinder, text) and arbitrary objects (surfaces, linesets, pointsets).
3D Model Appearance

VRML 1.0 and 2.0 support textures on objects. Geometry has "material" properties that describe how light can reflect off the surface of an object. Transformations (scale, rotate, translate) can be used to position and scale an object in relation to others. VRML 2.0 supports textures and colors for backgrounds. Four node types specify texture maps: Background, ImageTexture, MovieTexture, and PixelTexture.

VRML defines the following light source nodes: DirectionalLight, PointLight, and SpotLight. The specification (4.6.6. Light sources) states: "Shape nodes are illuminated by the sum of all of the lights in the world that affect them. This includes the contribution of both the direct and ambient illumination from light sources. ... All light source nodes contain an intensity, a color, and an ambientIntensity field."

3D Model Scene

The specification states that "Each VRML file implicitly establishes a world coordinate space for all objects defined in the file, as well as all objects included by the file."

VRML 1.0 and 2.0 support the ability to move through scenes, lights, and viewpoints. VRML 2.0 supports background colors and textures.

VRML has the following Sensor nodes: Anchor, Collision, CylinderSensor, PlaneSensor, ProximitySensor, SphereSensor, TimeSensor, TouchSensor, and VisibilitySensor. These nodes are either environmental or pointing-device sensors.

The Background, Fog, NavigationInfo, and Viewpoint nodes are limited in that only one of each can be impacting the user's view at any point in time.

3D Model Animation

While VRML 1.0 worlds are static, VRML 2.0 supports movement and more interactivity. VRML 2.0 supports animated objects, switches and sensors, Java or JavaScript to change behaviors, sound (WAV or MIDI), animating textures, and event routing.

VRML worlds contain viewpoints, navigation (including actions by users), and movement. The NavigationInfo node (Section 6.29 of the specification) details these characteristics.

Interpolator nodes are designed for linear keyframed animation. See 4.6.8 Interpolator nodes in the specification for more detail.

VRML has TimeSensors to generate time-based events. These can run more quickly or slowly than "real world" time, but by default it will run in "real" time. Time-dependent nodes (Section 4.6.9 of the specification) are defined as "AudioClip, MovieTexture, and TimeSensor are time-dependent nodes that activate and deactivate themselves at specified times. Each of these nodes contains the exposedFields: startTime, stopTime, and loop, and the eventOut: isActive."


File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension wrl
From the specification: "The file extension for VRML files is .wrl (for world)."
Filename extension wrz
From the VRML FAQ (link via Internet Archive), "A VRML file name may end in ".wrl.gz" or ".wrz" to indicate that the file has been gzipped, but this is not necessary, and browsers are not required by the spec to support these file name extensions."
Internet Media Type model/vrml

From section "4.5.1 File extension and MIME types": "The official MIME type for VRML files is defined as model/vrml where the MIME major type for 3D data descriptions is model, and the minor type for VRML documents is vrml.

The specification also notes, for backwards compatibility, that the following must also be supported: x-world/x-vrml

Magic numbers Hex: 2356524D4C2056
ASCII: #VRML V

VRML files begin with: #VRML [version] [encoding type] [optional comment] [line terminator]

For example:

#VRML V2.0 utf8

There must be exactly one space between "#VRML" and the version, and between the version and encoding type. The encoding type must "be followed by a linefeed (0x0a) or carriage-return (0x0d) character, or by one or more space (0x20) or tab (0x09) characters followed by any other characters, which are treated as a comment, and terminated by a linefeed or carriage-return character."

Pronom PUID fmt/93
Virtual Reality Modeling Language 1.0. See https://www.nationalarchives.gov.uk/PRONOM/fmt/93.
Pronom PUID fmt/94
Virtual Reality Modeling Language 2.0. See https://www.nationalarchives.gov.uk/PRONOM/fmt/94.
Wikidata Title ID Q176061
Virtual Reality Modeling Language. See https://www.wikidata.org/wiki/Q176061.
Wikidata Title ID Q105762863
XML Virtual Reality Modeling Language. See https://www.wikidata.org/wiki/Q105762863.
Wikidata Title ID Q8042554
eXtensible Virtual Reality Modeling Language. See https://www.wikidata.org/wiki/Q8042554.
Other NF00830
VRML97. NARA File Format Preservation Plan ID. See: https://www.archives.gov/files/lod/dpframework/id/NF00830.ttl

Notes Explanation of format description terms

General

The specification outlines the following design criteria intended when building the language: Authorability, Composability, Extensibility, Be capable of implementation, Performance, and Scalability.

History

According to a talk by Mark Pesce (link via Internet Archive), an earlier name for what would become VRML was "Labyrinth." Work began in February, 1994, and Pesce and Dave Raggett were invited by Tim Berners-Lee to present at the First International Conference on the World Wide Web in April 1994 (link via Internet Archive), where the phrase "Virtual Reality Markup Language" was coined by Raggett. The www-vrml mailing list was started in June 1994, which grew to over a thousand members. From this list, the VRML 1.0 Draft was drafted and subsequently published in November 1994, with the first VRML browsers releasing in May 1995.

The VRML Architecture Group (VAG) was founded (link via Internet Archive) in August 1995. This group, along with the larger VRML community, worked towards the development of VRML 2.0. On August 4, 1996, the official VRML 2.0 Specification was released at Siggraph 96 in New Orleans. The VRML Architecture Group site (link via Internet Archive) includes more details and meeting notes.

In December 1996, co-creator of VRML, Mark Pesce, resigned (link via Internet Archive) from the VRML Consortium and sent an "open letter to the VRML community," warning that powerful corporations are threatening the interests of content producers and users in the push to promote and improve VRML. The letter, emailed Tuesday, came a day before the Consortium's existence was to be officially announced." The VRML consortium was rebranded (link via Internet Archive) as the Web3D Consortium. z`

According to the Geeksforgeeks Introduction to VRML, VRML format is no longer widely used, replaced by technologies such as X3D and WebGL.


Format specifications Explanation of format description terms


Useful references

URLs

Books, articles, etc.

Last Updated: 05/14/2024