VRML 1.0 and procedural info

Dave Raggett (dsr@hplb.hpl.hp.com)
Tue, 2 Aug 94 15:09:13 BST

The BOF at SIGGRAPH '94 covered much of the things I am interested in
but left out a very important ingredient if we want a rich and varied
web of VRML scenes.

If you look back at my original paper on VRML:

"Extending WWW to support Platform Independent Virtual Reality"
in http://www.wired.com/vrml/concepts/raggett.html

you will see that I intended scenes to be described at a higher level
than basic geometric primitives. This important for two reasons:

a) Explicit geometric descriptions are typically LARGE
and would be a pain to users on low bandwidth connections

b) Authoring becomes a great deal easier if you manipulate
higher level descriptions. Triangular strip meshes etc.
are the *assembly language* of VR!

The way forward is to allow objects to be described both declaratively
as sets of data and procedurally with code. This is done in such a way
that you can cache code and data separately under different URLs.

I intended VRML to be a language for describing the data for the objects
in a scene together with links to the corresponding procedural descriptions
needed to compile the object into geometric primitives and to describe the
behaviours available to each object.

VRML uses an ASCII representation to name objects and their data elements.
These names are then used to bind the procedural descriptions to the
corresponding data. The separation between code and data via URLs decouples
the choice of programming language. Right now something like scheme seems
a good bet, or perhaps dylan.

The code for objects will need to use a *standard* API common to all
browsers to add geometric primitives for each object, e.g. routines
for defining triangular strip surfaces, materials, lights and so on.
Other calls are needed to handle a range of messages, e.g. pushing
and grasping objects, time signals for animation and so on. The API
also plays an important role of ensuring that scripts from unknown
sources can't cause trouble (installing viruses etc.).

Right now, the VRML mailing list seems to be rushing into standardizing
on a naive language for geometric primitives. Before we commit ourselves
lets talk about practical short term ways for including procedural
descriptions and higher level models.

Best wishes,

Dave Raggett

----------------------------------------------------------------------------- Hewlett Packard Laboratories email: dsr@hplb.hpl.hp.com Filton Road tel: +44 272 228046 Stoke Gifford fax: +44 272 228003 Bristol BS12 6QZ United Kingdom