Re: Results of the VRML Survey

Gavin Bell (gavin@krypton.engr.sgi.com)
Tue, 23 Aug 1994 16:22:09 -0700


On Aug 23, 2:52pm, Dave Raggett wrote:
> I believe that although the display engine works best with tree like
> data structures for scene description (PEX works this way); it is
> much better to describe scenes for interchange purposes in an object
> oriented manner with simple inheritance of properties. You should be
> able to use lexical scope to overide properties like surface material
> and color. As far as I can see, Inventor seems a bit weak on this
point.

Could you give an example of the kind of thing you want to do that you
think would be difficult with Inventor?

> Another point, which is critical to linking VRML with scripts, is the
> ability to have an extendable data model for objects. The goal here
is
> to allow for high level descriptions of objects to be defined in
VRML.
> I want to be able to define an object, say "house" and to give it
> some parameters, say "4 bedrooms" and "double garage", that are not
> a priori part of the language.

Ah, you want a House node:
House {
numBedrooms 4
garageType DOUBLE
}
Inventor will give you this. I really, really doubt that it is
possible to define an implementable set of such high-level objects in a
reasonable time, which is why I think we should concentrate on lower
level primitives like triangles, materials, transformations, etc.

> Declarative programming languages like
> Prolog and Lisp provide direct support for this kind of thing and
VRML
> needs to do the same. The semantics are then defined by linking the
> VRML to scripts that recognise these tags. The common tags can be
> considered formally in the same way; its just that the "scripts" for
> these are considered to be built-in to every VRML 0.1 viewer.

Now I'm confused. What are the 'tags' for the house? And what could a
'script' do with one of these 'tags'?

(if numBedrooms is a 'tag', and a 'script' is just a sequence of
instructions that modifies it, then substite 'field' for 'tag' and
'engine' for 'script' and you have Inventor's mechanisms...)