VRML Frequently Asked Questions

This document resides at (URL is http://www.oki.com/vrml/VRML_FAQ.html). There is also a text only version. (URL is VRML_FAQ.txt) If you have any comments, please mail them to jch@oki.com

Blue Ribbon Join the Blue Ribbon Anti-Censorship Campaign!

I must confess that I can barely keep up with the announcements and URLS and products coming over www-vrml. The VRML repository has been doing a very good job at keeping up. (URL is http://www.sdsc.edu/vrml/) Also (URL is http://www.vrml.org) is interesting. As is (URL is http://cedar.cic.net/~rtilmann/mm/vrmlup.htm)

I like having a single document that gives an intro & overview. I will shift the focus of the VRML FAQ and leave the product tracking to others. Perhaps a change of name, too?

Last-modified: 1996/02/28
Version: 2.0

VRML stands for Virtual Reality Modeling Language. These are details gleaned from reading the VRML discussion group. It is archived at (URL is http://vrml.wired.com) by the good graces of Wired and Brian Behlendorf.


0: Recent changes to the FAQ

Rewrote most of it.

There is a Japanese version of the FAQ. (URL http://www.anchor-net.co.jp/rental/andoh/vrml/vrmlfaq.html) thanx to Yukio Andoh andoh@tec.nk-exa.co.jp.

1.0: What is VRML?

VRML stands for Virtual Reality Modeling Language. It is usually pronounced "V R M L", but its friends pronounce it "vermel." The goal of VRML is to create the infrastructure and conventions of cyberspace, a multi user space of many virtual worlds on the Net.

Mark Pesce has been the VRML list moderator since it began. His vision has shaped much of VRML. Early vision (URL is http://vrml.wired.com/concepts/visions.html)

VRML 1.0 is a subset of the Inventor File Format (ASCII) with some additions to allow linking out to the Web and including other URLs. 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.

VRML 1.0 was agreed to be the minimal starting point for a much larger vision. There is a rich set of materials on (URL is http://vrml.wired.com) which is the original VRML web site and at the VRML Repository (URL is http://www.sdsc.edu/vrml/)

We are now in the midst of defining VRML 2.0: (URL is http://www.vrml.org/vrml20info.html)

P.S. If I lost you at the Web, (World Wide Web or WWW) you might try using Mosaic or Netscape to look at one of these: The Web Project page: (URL is http://www.w3.org/hypertext/WWW/TheProject.html)

The WWW FAQ (one which this is modeled): (URL is http://www.boutell.com/faq/) There are many mirrors, get the closest site before setting a bookmark.

(Up to Table of Contents)

1.1: Where can I get the specification?

The clarified 1.0 spec is off (URL is http://www.vrml.org/vrml10c.html The spec was written by Gavin Bell of Silicon Graphics, Anthony Parisi of Intervista Software, and Mark Pesce, VRML List Moderator. The clarified spec is dated 29-JAN-96 (with minor nontechnical edits noted at the bottom - 12-FEB-96)

(Up to Table of Contents)

1.2: What's the history of VRML?

1.3: What's the history of VRML? Here is a timeline

Also, a view from the SGI trenches: (URL is http://www.sgi.com/ion/Spring_95/vrml.ezine.3.95.html)

A talk titled "VRML Equinox", given by Mark as the Developer's Day Keynote Address at WWW3 in Darmstadt provides a mix of history and vision on the eve of VRML's meteoric rise. It also captures the status quo as of 95.APR.15. (URL is http://vrml.wired.com/arch/1390.html)

(Up to Table of Contents)

1.3: What's 3D graphics, anyway?

Geometry, transformations, attributes, lighting, shading, textures:

Geometry is defined by XYZ coordinates and some sematics. VRML 1.0 has a few simple shapes: Cube, Cone, Cylinder and Sphere and the IndexedFaceSet. Geometry has properties - specifically, "material" properties describe how light reflects of off the surface of an object. Transformations (scale, rotate, translate) can be used to position and scale obects in relation to others.

Lighting is the process of determining how much light strikes an object and how much should be reflected. There are spot lights, light bulbs (points) and sun (directional) light. There is also ambient light to simlulate what we call diffuse light. Of course "diffuse reflections" are conceptually similar but different. Similar in that the viewing angle does not effect them. In addition to diffuse reflection there is also ambient and specular.

Shading determines how the colors - determined in the lighting step - are spread accross the surface. The choices are flat shading, in which each facet can be seen to have the same color, and Gouraud - or smooth - shading. In Gouraud shading, the reflected color is calculated at each vertex and then smoothly interpolated between them.

Cindy Reed has created a tutorial on texturing in VRML 1.0 (URL is http://www.ywd.com/cindy/texture.html)

The OpenGL specification describes in detail the mathematics involved in most of these operations. (URL is http://www.sgi.com/Technology/openGL/glspec/glspec.html)

OpenGL may be the standard reference for 3D graphics, but many other 3D rendering libraries are used in VRML browsers- specifically, renderWare from Criterion, RealityLab from Microsoft and 3DR from Intel. A good survey of 3D rendering engines is available. (URL is http://www.cs.tu-berlin.de/%7Eki/engines.html)

(Up to Table of Contents)

1.4: What VRML events are going on at SIGGRAPH?

There will be at least a course and the Digital Bayou will have many VRML entries. (URL is http://www.siggraph.org/conferences/siggraph96/siggraph96.html)

(Up to Table of Contents)

2.1: What browsers are available?

I can't keep up with these! Check out the repositry. (URL http://www.sdsc.edu/SDSC/Partners/vrml/repos_software.html)

As regular Web browsers move to support VRML directly, stand alone browsers need to provide compelling added value.

(Up to Table of Contents)

2.3: What is QvLib?

Public source code for QvLib, a parser library for VRML has been released - written by Paul Strauss (pss@engr.sgi.com) and Gavin Bell (gavin@engr.sgi.com) of SGI, it is code to build a parse tree from a VRML file for future VRML applications. It has been updated to the Final VRML 1.0 specification for SGI. That is at (URL is ftp://ftp.sgi.com/sgi/inventor/2.0/qv1.0.tar.Z)

There are several other versions that the repository points in the VRML development library page: (URL http://www.sdsc.edu/SDSC/Partners/vrml/repos_software.html)

(Up to Table of Contents)

2.4: What Test Suites are there?

Eric Haines at 3D Eye (URL is http://www.eye.com/vrml_tst/vrml_tst.html)

Chaco's (URL is http://www.chaco.com/vrml/)

Mitra's (URL is http://earth.path.net/mitra/vrmltests/)

(Up to Table of Contents)

3.1: Authoring tools

Again, I'm punting on this. Check out the VRML repository: (URL http://www.sdsc.edu/SDSC/Partners/vrml/repos_software.html)

(Up to Table of Contents)

4.1: Lists of Pointers to indices...

There are many sites that have lists of sites and more everytime I check. Here are a few starting points. I am not attempting to provide a list of all VRML links. Just a few starting points.

The Paper folks (recently acquired by Netscape) have a rich set of pointers. (URL is http://www.paperinc.com/)

Construct Internet Design has many VRML resources at their site. (URL is http://www.construct.net/)

There is a good list of pointers maintained by Jim Race on the Well. It seems to be one of the freshest VRML pages going. (URL is http://www.well.com/www/caferace/vrml.html)

The VRML bake off (or smith off, or whatever. Contest running thru March 96, make your VRML objects & worlds immortal. (URL is http://www.mcp.com/general/foundry/smith_off/)

There is a new site at VRML.ORG, whoever they are? (URL is http://www.vrml.org)

3DSite: vrml-links-new (URL is http://www.lightside.com/3dsite/cgi/VRML-index.html)

VRML-o-Rama!! (URL is http://www.well.com/user/spidaman/vrml.html) is a collection of links & personal notes.

WWW Viewer Test Page provides sample URLs for a wide variety of content. This allows you to test your browser and how it hands data off to helper applications. It also has some other MIME pointers. Check out (URL is http://www-dsed.llnl.gov/documents/WWWtest.html)

(Up to Table of Contents)

4.2: VRML (.wrl) Data Sites

The first announced VRML 1.0 site was WaxWeb: (URL is http://bug.village.virginia.edu/vrml) Created by David Blair, Waxweb 2.0 is the first interactive, intercommunicative FEATURE FILM on the WORLD WIDE WEB (Variety, 2.16.95). It is also, the first network-distributed narrative to offer real-time 3-D navigation through a story. Waxweb is a project of the Brown University Graphics Laboratory, headed by Andries VanDam, with Tom Meyer serving as the technical director of the project.

The Mesh Mart has a catalog of objects. They also maintain an excellent list of pointers in the VRML page. (URL http://cedar.cic.net/~rtilmann/mm/)

Viewpoint Datalabs has a library of models, they also house the venerable Avalon site for various forms of public domain models. (URL is http://www.viewpoint.com)

The old Paper Cool Worlds is now at Netscape. (URL is http://home.netscape.com/comprod/products/navigator/live3d/cool_worlds.html)

And finally, to abuse power and toot my own horn, heck it is not even mine, but my nephew's (as a work for hire, so I own it :-), check out First Parish of Sudbury (URL is http://www.jch.com/~jch/vrml/FPSudbury.wrl)

(Up to Table of Contents)

4.3: How set up an HTTP server to host .wrl files?

You need to edit the configuration file to establish the file suffix to MIME (more below) type mapping. This allows the HTTP protocol to use the MIME types to identify data coming accross the net as VRML data. If you had .wrl files available via ftp, the client (browser/viewer) would be responsible for mapping file extension to MIME tpye (or directly to the application to be launched. For CERN you need to add this line to httpd.conf:

#       add the VRML type.
AddType .wrl    x-world/x-vrml  8bit    1.0

For the EMWACS NT server, you add similar things in the Control Panel of the HTTP Server. Open that to see the list of MIME type mappings. Click on the New Mapping button and give .wrl & x-world/x-vrml

Date: Mon, 24 Apr 95 15:25 MET DST
From: Simon Leinen (simon@lia.di.epfl.ch>

For Netsite, I have tried to use the nifty forms-based administrative
user interface to add a type mapping from the .wrl extension to the
correct MIME type, but didn't find any possibility to do that.  Adding
the following line to the file /var/mc-httpd/admin/config/mime.types
seems to work though:

type=x-world/x-vrml             exts=wrl
NCSA's httpd, add the following line to conf/srm.conf:

AddType 	x-world/x-vrml	wrl

(Up to Table of Contents)

4.3: How to compress .wrl files?

This is still a little "predictive" (has been made to work on UNIX). I think this is the way it should be. Thanks to Brian Behlendorf for getting it to work somewhere.

If you are putting up compressed VRML files on your web site you need to add a Content-Encoding line which tells the browser to uncompress it. Using the Free Software Foundation's GNU zip tools seems like the only viable cross platform option.

For Apache and NCSA's httpd, add the following line to srm.conf, and any file like *.wrl.gz will be properly labeled with Content-encoding: x-gzip

AddEncoding 	x-gzip 	gz
For CERN, it is just a little different... (in httpd.conf)

AddEncoding 	.gz	x-gzip 

(Up to Table of Contents)

5.1: VRML 2.0 Features

There are many things to be added to VRML 1.0 to create a full multi-user 3D environment. There are many features to be incorporated into a cyberspace system - perhaps only a piece of which is VRML. The other would be a new protocol for registering presence and getting updates.

(Up to Table of Contents)

5.2: What about VRML 1.1?

It is dead.

VRML 1.1 was envisioned as a quick addition to VRML 1.0 adding a few features to do sound and simple animations, but not enough to start multi-user development. A draft document was put forth on the eve VRML 95 by the VAG, but it quickly became clear that we needed to push forward to VRML 2.0. For historical purposes only, there is a copy of the VRML 1.1 draft at (URL is http://www.vrml.org/vrml-1.1.html).

(Up to Table of Contents)

5.3: How can I participate in the design process?

The main venue for discussion of VRML technical issues is www-vrml. You can find out how to get on and off the list by looking at the listfaq: (URL is http://vrml.wired.com/listfaq.html)

There are some related mailing lists at the VRML Repository: (URL is http://www.sdsc.edu/SDSC/Partners/vrml/repos_mailing.html)

PLEASE - do not send administrative (unsubscribe) messages to the lists!

There is also a newsgroup - alt.lang.vrml See the FAQ (URL is http://www.virtpark.com/theme/vrmlfaq.html)

(Up to Table of Contents)

5.4: What is the design process?

For VRML 1.0, the authors of the VRML 1.0 (Gavin Bell, Anthony Parisi and Mark Pesce) would discuss issues on the www-vrml mailing list and then revise the spec.

For VRML 2.0, it is different. (URL is http://www.vrml.org/vrml20info.html)

Seeing as the ultimate standards body for VRML is the IETF, this is probably OK. The process is similar, I think. Get IETF Zen URL! XXX At some point it will become a (new) MIME content type ("world" or "3D" or "geometry") and a subtype "vrml".

While the lack of formality may make some uncomfortable, no one can argue with the progress made so far, IMHO.

(Up to Table of Contents)

5.5: What is the VAG?

Rikk Carey and Mark Pesce put together the VAG in August of 1995. See the VAG site: (URL is http://www.vrml.org/)

(Up to Table of Contents)

5.6: What is the future of VRML

The idea of a VRMUD has been discussed - Think of "The Street" from Snow Crash, or the Holodeck, or...

The real question is what do we need to add to VRML 2.0 to do this? I expect we will find this out when VRML 2.0 worlds and browsers become available.

(Up to Table of Contents)

Where can I get the nifty VRML artwork? Kevin Hughes of EIT is the creator and has put it into the public domain. See (URL is ftp://www.vrml.org/pub/graphics/)

(Up to Table of Contents)

VRML Books

Mark Pesce's book - VRML Browsing and Building Cyberspace came out first. (URL is http://www.mcp.com/newriders/internet/vrml/) and fairly soon after came the _VRML Sourcebook_ from the VRML Repository folks. (URL is http://www.wiley.com/compbooks/k26.html).

As of 27-FEB-96, there are 22 VRML books listed at the Cye Definitive HTML Book List (URL is http://wwwiz.com/books/). Most of these are specifically about VRML and most of them are due out soon. Go to SUBJECTS and then VRML.

(Up to Table of Contents)


RFC 1521 (MIME) -- IANA Registration Procedures

If you would like to thank Oki Advanced Products for hosting this and letting me spend a little time on it, you could check out our TrianGL board. (URL is http://www.oki.com/products/TrianGL.htm)

(URL is )

YON, jch@oki.com,  Jan C. Hardenbergh,  Oki Advanced Products 508-460-8655 
http://www.oki.com/people/jch/ =|= 100 Nickerson Rd. Marlborough, MA 01776
Imagination is more important than knowledge - Albert Einstein (1879-1955)