Hello Anthony & Mark,
Saw your VRML proposal on wired.com, would like to make several
comments/suggestions:
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
parse.
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
objects.
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
"Composite"?
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 ...
Sincerely,
Linas Vepstas
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
Linas Vepstas Graphics Architecture
AWD IBM Austin VNET: AUSVM6(LINAS)
Zip 9260
Dept E84S, Bldg 902 Tie Line: 678-1116
11400 Burnet Road External Phone: 1-(512)-838-1116
http://w3.austin.ibm.com/afs/austin/u3/linas/public/html/home.html
local: [email protected]
internet: [email protected]
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^