Re: Why I changed my mind about Separator/Property changes

Bernie Roehl ([email protected])
Fri, 24 Nov 1995 15:59:21 -0500


Gavin Bell writes:
> VRML does have objects or entities, but they're not high enough level for a
> lot of people's tastes (e.g. a Material is an object in Inventor and VRML).

Right, but that's clearly not what people are looking for. In fact, it's
quite confusing to people who have used other systems; quite often I get
people who have used various CAD packages, modelers, VR systems and so on
asking me questions about VRML. When I tell them a material is an "object"
and a camera is a "property", they look at me like I'm from Mars.

> If you want a higher-level object model, the next version of VRML will let
> you build it using prototypes. I can say:

Right, but that next version of VRML seems fairly distant right now. I'm
putting together a simple proposal (I'll be mentioning it in my next message)
that may serve in the interim without doing any harm to what may come later.

> Object {
> material Material { ... } # material is an SFNode field...
> texture Texture2 { ... }
> transform Transform { ... }
> children [ Object { ... }, Object { ... } ]
> }

It seems odd to have to name all those nodes, and certainly the naming
convention (fields start with a lowercase letter, node types with an uppercase
one) makes the children[] field superfluous.

> It would be nice to have a standard prototypes that everybody agreed to. I'd
> like to see some opinions on what people want to see how much there is in
> common. I'll start:
>
> A generic group object would act as a Separator and have:
> -- fields of a Transform node
> -- a list of children, each of which was a generic object or a shape object

Yes, that sounds reasonable.

> All shape objects would act as a Separator and have:
> -- a pointer to a Texture2 node (possibly NULL, possibly shared)
> -- a pointer to a Material node
> -- a pointer to a Coordinate3 node
> -- a pointer to a TextureCoordinate2 node
> -- a pointer to a Normal node
> -- a pointer to an IndexedFaceSet, IndexedLineSet, or PointSet node

Not sure exactly what you mean (in the context of VRML) by "a pointer to"?

> Hmm... anybody want to take a shot at figuring out where Lights, WWWAnchors,
> WWWInlines, prototyped user interface components, etc fit in?

Well, my feeling is that lights are the same as cameras, which are tesated
just another type of child in the system you describe above. In other words,
they're on a par with "shape" objects. This is the way most existing VR
systems and 3D libraries work.

I'll finish my proposal and post a note to the list.

-- 
   Bernie Roehl
   University of Waterloo Dept of Electrical and Computer Engineering
   Mail: [email protected]    Voice:  (519) 888-4567 x 2607 [work]
   URL: http://sunee.uwaterloo.ca/~broehl

  • Next message: Steve Cooper: "Re: www-vrml-digest V1 #121"
  • Previous message: Bernie Roehl: "Re: WWWAnchor as a WWWAnchor's child. Clarification needed."
  • Maybe in reply to: Bernie Roehl: "Why I changed my mind about Separator/Property changes"
  • Next in thesad: Gavin Bell: "Re: Why I changed my mind about Separator/Property changes"