VRML

The Virtual Reality Modeling Language (VRML ) is a language for describing 3D scenes, their geometries, illuminations, animations, and interactive options including placed in the virtual environment noise sources.

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

A VRML presentation ( for example, within a web browser or a virtual reality ) is generated by the computer of the viewer in real time. This means that the computer calculates each individual image from the existing geometry data, as well as the behavior and movements of the " visitor " ever again. For this reason, divorce (in 2006, without the use of supercomputer technologies) photorealistic images with computationally expensive ray-tracing method, "real" reflections and shadows from. It will not play the finished Movie images even when using predefined observer positions ( viewpoints ), when changing between these points and camera movements. Complex VRML scenes presented earlier may therefore high demands on the hardware. How quickly or how liquid the movements take place depends on the processor and in particular by the graphics card of the reproducing computer.

VRML files can be identified by the file 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 makes the file format has established itself as an exchange format for 3D models. It can also be packed with gzip VRML files with the file extension ". Wrl ", although it is actually intended the file extension " wrz. ".

Node types

As a VRML scene composed of multiple nodes, here are some important types of nodes in VRML:

  • For geometry body as cuboid, cylinder, cone and sphere each own node types are available.
  • Complicated graphics objects to build a list of points, described surfaces ( IndexedFaceSet ), lines ( IndexedLineSet ) or points ( PointSet ) on.
  • The body can be grouped hierarchically by Transform node. On all nodes below this node can be applied transformation operations such as scaling, rotation or translation. The tree structure in the VRML file, it is easy to generate a forward kinematics. So then moves with an illustrated finger when the arm is moved.
  • Material properties can be assigned to the geometric bodies. So also transparent textures are possible with the help of PNG images.
  • The light source will ensure, through the lighting model (mostly Gouraud shading ) for the corresponding shading of objects.
  • Sensors respond to user actions and the Time -sensor serves for animations.
  • Interpolators can then convert eg a rotation in any color changes or with the passage of time changes the position of an object
  • The Script node is activated by compounds ( route ) by defined event outputs of objects and it starts a Java -Script or Java program. This can include any calculations and deliver the results by further connections to the inputs of objects.
  • The USE command is used to reuse already defined using " DEF" script node.
  • The PROTO node is much more flexible than the USE command and allows, for example, the creation of a torus geometry node, which according to standard really is not defined. Several Protos are freely accessible on the Internet.
  • Through so-called anchor and inline can reach by clicking on objects in another world or install other VRML objects in your own world with. This is helpful to keep clear to the VRML text.
  • LOD (Level of Detail ) allow the simplified representation when the user is located at a great distance in order to increase the performance.
  • Billboards are like panels that always turn the user their broadside.
  • Additional nodes describe the step velocity and eye position of the user and also the background color in the world.

As already mentioned in the script node that has a VRML viewer an integrated event-driven simulation, that is, each object can emit an event. These are individual values ​​or entire lists of values. These values ​​can be time, numbers, strings, colors, vectors, images or entire node. These are then further processed by the system and thus allowing the simulation of even simple physical operations.

Collision detection of the VRML browser is standard. A collision detection is needed, so that it does not pass through walls. The method by which it is ensured that you can not lift off the ground, however, is less well defined.

For external control of the VRML scenes by the browser or else can the Java programming 14772-2 are used on the EAI interface (External Authoring Interface ) to ISO / IEC. Like any text file can VRML be generated by the server by server-side scripting languages ​​(eg PHP, Perl, Python). In addition to the application in the browser VRML is also used in virtual reality environments.

History

VRML 1.0 ( Virtual Reality Markup Language at that time ) was an extension of the Inventor file format from Silicon Graphics (SGI ) is introduced to web links and Viewpoints 1995.

1997 VRML 2.0 was specified and enshrined 14772 standard for smaller changes as VRML97 ISO. The most important extensions to VRML 1.0 is a complete revision of the scene graph concept with a strong type system for nodes, the introduction of sensor nodes in pursuit of greater interactivity, the introduction of animation possibilities over time sensors, interpolators and ROUTES as connecting elements, scripting ability using JavaScript ( VRMLScript called ) and multimedia elements such as sound, Animated GIF and MPEG movies.

On the fourth International Conference on VRML and 3D web technologies in 1999 came for the further development of the concept of VRML on NG (Next Generation ). He was also known as VRML99. In this standard, the complexity should be reduced. Because of the elimination of the previously significant support from the workstation manufacturer SGI lost the standardization process steam. The discussions and developments led in 2004 to the development of the VRML successor X3D, which, however, has not been fully established up to now on the market.

VRTP stands for Virtual Reality Transfer Protocol and should be developed by a working group of the Web3D Consortium for better transmission of VRML data. The idea that was abandoned because the 3D VRML standard is not as strong as the Web3D consortium expects, established on the Internet.

Browser Integration

To watch a VRML file from the Internet, you need a plugin ( add-on module ) for the browser. These include Cosmo Player, Cortona3D Viewer or BS Contact. In addition, there are special browser, where it is already integrated.

Open Source Authoring Tools for VRML

  • White_dune - VRML97 editor
  • Blender ( software) - 3D modeller with VRML97 export static
18445
de