VRML - Virtual Reality Modelling Language
Introduction
VRML97 (or Vrml 2.0) is a language for the description of 3-dimensional scenes
(worlds), including lighting, texturing and preferred viewpoints,
together with mechanisms for interaction and animation. The creation
of a VRML world description requires only a text-editor, although
there are tools that produce VRML source-files as output. Viewing
a VRML world/animation usually requires a VRML browser in association
with a Web-browser although there are stand alone viewers. The basic
VRML object is an IndexedFaceSet. However,
simpler structures are also provided, such as Box, Sphere, Cylinder,
Cone, ElevationGrid and Extrusion which require fewer parameters
for their specification. An IndexedLineSet and Text are also provided.
The VRML browser allows the user to view the world, to move around it,
panning, zooming and revolving. Directional and point-source
lighting can be specified both in position and colour. Surfaces
can specified giving colour, reflectivity and texture. Preferred
Viewpoints can be specified. Interpolators are provided which allow
the author to create smooth changes in position, colour and rotation
in animations. Sensors allow the user to interact with the scene.
PROTOtyping allows the author to create new, reusable structures.
Advanced control, outside that which is basic to a VRML world,
can be supplied using Scripts that may, currently, be written
in JavaScript or Java. Facilities also exist for the inclusion of
sound and moving textures.
VRML has been around for some time but never reached
its potential. This was probably because of the limitations of
the earlier machines and video-cards. It was hoped that VRML would become
universal and a vrml browser part of the standard
equipment for every user. In the interim, the 3D world has adopted
a variety of solutions but a universal standard, one that is actually
used widely, still eludes.
Current work on a successor to VMRL, X3D, is nearing completion.
Modelers are urged to migrate to the new standard. I have started to
look into it but it remains to be seen whether this will fare
any better than VRML. Currently, the few available viewers or browsers
for the new specifications have deficiencies that will mean that, in
the main, I will stick to the older systems for the
time being.
Some useful general VRML exernal links:
Floppy's Web3D Guide or Floppy's VRML97 Tutorial. A little racy, written by
someone who, though now an expert, was, at the time of
starting to
write it, still not too far along the learning
curve. It contains one or two titbits which are not easily available
elsewhere
The VRMLworks (Bob Crispin's site)
Some very useful comment, selected tutorials, examples and
links.
Having looked at the site again recently it
appears that much of the material is dated. LCH
and books:
"The Annotated VRML 2.0 Reference Manual"
Rikk Carey and Gavin Bell - Addison Wesley 1997
ISBN 0-201-41974-2
Not a tutorial but the current programmer's 'bible'. Written by the
two most prominent architects of the VRML standard.
This appears to be back in print and is also available online at
http://www.cs.vu.nl/~eliens/documents/vrml/reference/BOOK.HTM
"Late Night VRML 2.0 with Java"
B.Roehl et al. - ZD Press 1997
ISBN 1-56276-504-3
An advanced text, dealing with selected issues: Scripting, NURBS,
Texturing, Multiuser environments, the Human Avatar etc.
It is however out of print and in unlikely to be reprinted.
"The VRML 2.0 Handbook"
Jed Hartman and Josie Wernecke et al. - Addison Wesley 1996
ISBN 0-201-47944-3
A good introductory text, dealing with most aspects. Unfortunately the
principal and other Web-hosted examples are no-longer currently
accessible. These were on the Silicon Graphics Cosmoware site.
But since Silicon Graphics has withdrawn its support for VRML,
internally and externally, the site is also gone.
Also a Newsgroup:
comp.lang.vrml
well worth subscribing to for discussion, news comment and help.
and a Mailing list
www-vrml
.
VRML Browsers
During the development of VRML and VRML applications, various browsers
have been produced and had their adherents. Some browsers are now
defunct; some are still in use but are no longer being supported and
others are still 'live'. Cortona (current version 5.1) is a favourite
and also Blaxun Contact. Cortona is currently being actively
supported and developed. Each of them still, apparently, has its
problems in certain areas, primarily with the EAI (External Authoring
Interface) used for interaction with Java Applets and Applications.
Flux Player, now supported by Vivaty, is a relative newcomer. It is nice but
still a bit immature. It still lacks some standard features, in particular,
adequate help and the ability to support Midi music files. It can however function as a
stand-alone display for local use as well as a client for a
web-browser and it supports X3D.
CosmoPlayer V2.1.1, once the preferred viewer,
is no longer supported and is rather outdated. However, it is still available and has
the reputation of being generally faster and more stable than the
others for many applications.
BS Contact is favoured by many but is somewhat
eccentric in my opinion.
Currently, I use two browsers: Cortona and Flux Player.
On my desktop machine, running
Windows XP, I use Cortona 4.1 in conjunction with Internet Explorer
and Flux Player in conjunction with
Firefox. As a variation, on my laptop running Windows Vista, I have coupled
Cortona 5.1 with Firefox.
.
Current sources: (these are free although Cortona and Contact have annoying logos
that intrude into the display area)
Cortona
Flux Player
CosmoPlayer
BS Contact