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
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.
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.
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.
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)
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)
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)
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.
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)
Chaco's (URL is http://www.chaco.com/vrml/)
Mitra's (URL is http://earth.path.net/mitra/vrmltests/)
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)
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)
# 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
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
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.
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).
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)
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.
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.
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/)
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.
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)
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)