Virtual Reality Modeling Language

from Wikipedia, the free encyclopedia
VRML in the program "dune" (version 0.13)

The Virtual Reality Modeling Language ( VRML ) is a description language for 3D scenes , their geometries , illuminations , animations and interaction possibilities including sound sources placed in the virtual environment.

Overview

VRML was originally developed as a human readable 3D standard for the Internet and is a precursor to the X3D standard recommended by the World Wide Web Consortium for this purpose .

A VRML representation (for example within a web browser or a virtual reality ) is generated in real time by the viewer's computer . This means that the computer constantly recalculates every single image from the existing geometry data as well as the behavior and movements of the “visitor”. For this reason (as of 2006, without the use of supercomputer technologies) photo-realistic representations with computationally expensive ray tracing processes, "real" reflections and shadows are ruled out. There are also the use of predefined observer positions ( english viewpoints ), when switching between these points and camera movements played no ready-made frames from a movie sequences. Complex VRML scenes used to place high demands on the hardware. How fast and how smoothly the movements are made depends on the processor and, above all, on the graphics card of the rendering computer.

VRML files can be recognized by the filename extension “.wrl” (world), they are written in plain text ( ASCII or UTF-8 ) and can also be created in a simple text editor . Most 3D modeling tools allow the import and export of VRML files, which is why the file format has also established itself as an exchange format for 3D models . There are also VRML files packed with Gzip under the file extension “.wrl”, although the file extension “.wrz” is actually intended for this. In addition, VRML files are used as the basis for color 3D printing , since the STL standard format used for 3D printing cannot transport color information.

Node types

Since a VRML scene is made up of several nodes, here are some important node types in VRML:

  • There are node types of their own for basic geometric bodies such as cuboids, cylinders, cones and spheres.
  • Complicated graphic objects are based on a list of points and areas described with them (IndexedFaceSet), lines (IndexedLineSet) or points (PointSet).
  • The bodies can be grouped hierarchically using Transform nodes. Transformation operations such as scaling , rotation or translation can be applied to all nodes below this node . The tree structure in the VRML file makes it easy to create forward kinematics. An illustrated finger moves with it when the arm is moved.
  • Material properties can be assigned to the geometric bodies. Transparent textures are also possiblewith the help of PNG images.
  • The light sources then provide the corresponding shading of the objects through the lighting model (mostly Gouraud shading ).
  • Sensors react to user actions and the time sensor is used for animations.
  • Interpolators can then e.g. B. convert a rotation into any color change or the position of an object changes as time progresses
  • The script node is activated via connections (route) through defined event outputs of objects and a Java script or Java program is started. This can carry out any calculations and deliver the results to the inputs of objects through further connections.
  • The USE command is used to reuse script nodes that have already been defined using "DEF".
  • The PROTO node is much more flexible than the USE command and enables e.g. B. the creation of a torus geometry node, which is actually not defined according to the standard. A number of Protos are freely accessible on the Internet.
  • With so-called anchors and inline you can click on objects to go to another world or to incorporate other VRML objects into your own world. This is helpful to keep the VRML text clear.
  • LOD ( Level of Detail ) enable the simplified display when the user is at a great distance in order to increase performance.
  • Billboards are like blackboards that always have their broadside turned towards the user.
  • Additional nodes describe the walking speed and eye level of the user and also the background color of the world.

As already mentioned with the script node, a VRML viewer has an integrated event-oriented simulation, i. H. every object can send out an event . These are individual values ​​or entire lists of values. These values ​​can be time, numbers, strings, colors, vectors, images or whole nodes. These are then further processed by the system and thus even enable the simulation of simple physical processes.

The collision detection of the VRML browser is standard. Collision detection is required so that one does not run through walls. The process of ensuring that you don't lift off the ground is less precise.

For external control of VRML scenes by the browser or other programming language can Java via the EAI - Interface (External Authoring Interface) according to ISO are used 14772-2 / IEC. Like any text file, VRML can also be generated by the server using script languages ​​(e.g. PHP , Perl , Python ). In addition to being used in the browser, VRML is also used in virtual reality environments.

history

VRML 1.0 (then still Virtual Reality Markup Language) was introduced in 1995 as an extension of the Inventor file format by Silicon Graphics (SGI) to include web links and viewpoints.

In 1997, VRML 2.0 was specified and, after minor changes, became the VRML97-ISO 14772 standard . The most important enhancements compared to VRML 1.0 are a complete revision of the scene graph concept with a strong type system for nodes, the introduction of sensor nodes to achieve greater interactivity, the introduction of animation options using TimeSensors, interpolators and ROUTES as connecting elements, scriptability using JavaScript (called VRMLScript) and multimedia elements such as sounds, animated GIF and MPEG movies.

At the fourth international conference on VRML and 3D web technologies in 1999, the term VRML NG (Next Generation) came up for further developments. It was also known as VRML99. In this standard, the complexity should be reduced. The standardization process lost momentum due to the discontinuation of the previously essential support from the workstation manufacturer SGI. The discussions and developments led to the development of the VRML successor X3D in 2004 , which however has not yet fully established itself on the market.

VRTP stands for Virtual Reality Transfer Protocol and should for better transmission of VRML data by a working group of the Web3D - consortium developed. The idea was rejected, however, because the 3D standard VRML did not establish itself as strongly on the Internet as expected by the Web3D consortium.

Browser integration

In order to be able to view a VRML file on the Internet, you need a browser plug-in (supplementary module) for the browser . These include Cosmo Player, Cortona3D Viewer or BS Contact. In addition, there are special browsers in which this is already integrated.

Open source authoring tools for VRML

Web links

Commons : VRML  - collection of images, videos and audio files

Individual evidence

  1. H. Heckner, M. Wirth: Comparison of file formats for 3D models, CEDIFA work report 7, from May 13, 2014, page 15