Your vrml proposal

Linas Vepstas (
Fri, 22 Jul 1994 17:47:22 -0500


Hello Anthony & Mark,

Saw your VRML proposal on, would like to make several

1) drop the open/close keywords in favour of { ... }. Personally, I
find the curly braces fare more human readable. They also conserve
some amount of storage space, and are a little quicker to mechinically

2) Require Color and Normal to be specified BEFORE the primitive. The
idea is to avoid scan-ahead, look-ahead in the language. I.E. when
one goes to do something (e.g. draw a polygon), one has enough
information NOW to do it.

The slippery slope is that once you ask for look ahead, it becomes
easy to require look-ahead arbitrarily far into the file (gee, I
didn't find a color, so I'll look a bit farther until I do find
a color ...) which means you have to store all of the intermediate
stuff, so you can hop back and continue processing where you left
off ... Yuck -- misery to interpreter/compiler writers. One
reason C is popular is that it doesn't require C compilers to scan
ahead. One reason AutoCAD DXF format is ugly is that it does.

3) Urge changing the name of keyword "Object" to "Composite" to more
closely match more common usage. Why?
A) Object suggest "Object orieinted". Your Objects are not OO
B) "Composite" is the word used by Larry Koved's & Wayne Wooten's
GROOP system, and by Parris Egbert's & William Kubitz's GO system,
and by others. Bahrs uses the keyword "collection". Tarlton uses
"form" (but I'd like to reserve "form" for another meaning.)

4) What's the purpose of "Scene"? a "scene" usually includes a camera
and lights, your scenes don't. Why not call it just another

5) What's the purpose of Keyword "Element"? Is this a composite? a
pointer to a composite? An "action" (aka "engine") i.e. I click here
and go tho that URL? ???

6) I'd like to see enhancements .. like support for triangle strips ...
... and lots of other things ...

Linas Vepstas

Linas Vepstas Graphics Architecture
Zip 9260
Dept E84S, Bldg 902 Tie Line: 678-1116
11400 Burnet Road External Phone: 1-(512)-838-1116