Comments VRML 1.0 (Draft)

Jan Hardenbergh (
Thu, 01 Dec 94 17:28:00 E

1-DEC-94 jch - review of the VRML spec 1.0 (Draft) UNDATED!!!

This stuff is better than virtual sex. (or maybe it will be virtual
sex soon enough...)

What follows are comments on the VRML 1.0 spec. The only really
surprising thing is that only IndexedFaces made it as a surface.
I think this is a mistake. I would add TriStrips, QuadMeshes and

Before the nits start, I want to say that this is a GREAT document for a
first draft - some of that is due to the existing Inventor documents,
but there is still a lot of new material here and it looks GREAT!


Date the spec on each rev.!

Be formal about what is really part of the specification and what
is in the spec.

The "mission statement" section should be labelled "Background"

A mission statement might be:

The mission of VRML is to become the standard interactive simulation
language of the World Wide Web. This language will enable web surfers
to perceive the Internet through the use of three dimensional graphics,
animation, physics modeling to represent the web, other web surfers,
documents and the world itself. VRML will enable a qualitative leap
in our ability to understand and navigate through the web and its contents.

(BTW, modelling is English, modeling is American)

noospheric - it ain't in my American Heritage, if you use it, define it.

I think it is worth while to mention the other candidates (WebOOGL &)
in the description of the selection process.

Is the VRML (IFF) parser really available somewhere?

The VRML 1.0 Requirements section seems very incomplete. The SIGGRAPH
BOF notes have lots of things: ASCII, 3D Geometry, Hierarchy,
Transformations, Material properties, textures, unit of measure,
level of detail capabilities, URL "Anchorage", lights, camera, action...

- Should require no new support from HTTP server. Just more files.

Or do we expect all VRML to only come from VRML servers?

Language Spec. This is the start of the real spec.

I like Nodes!

What is the scoping of names? Can a name be used outside of the
curly braces (node) it was defined in?

Please put a DEF in the example.

Can I put children in any node? I.E. Sphere { radius 1 Seperator {...} }
A quick test of OpenInventor does not like this.

Do nodes always have names? If one is not specified, are they null?

The vertical seam in a cone is in the YZ-plane in which the cone is
defined, right? (Inventor calls this object coordinate space) or in the
YZ plane after transformation (World coordinate space). Is anything
ever defined in view or screen space? So, what...
- please have a short section on spaces in the document (right hand)
- we need to define the viewing & screen space in order to interact
with the models. This is something that PEX/PHIGS did pretty well,
tho, as usual it was overdone. We need it when we point at things
and need to convert from window coords to world coords.
(the notion of a digitize plane to which the pointer gets projected
is useful for drawing)

I guess I will just get used to points being a vector data type.

For the cube, front is parallel with the XY plane, with positive Z?

"the current cumulative transformation" includes the object to world
and camera transformations? anything else?

The structure of the document might be changed. I could not grasp the
material binding stuff until I skipped ahead to the MaterialBinding
node. I realize this is a second level of editing - better get the
spec specified, then make it understandable...

Light sources are affected by "the current transformation." Is that
different from the "current cumulative transformation?"

No TriangleStripSet, QuadMesh or NurbsSurface? Why not? The Inventor
Mentor says on page 109 that triStrips and QuadMeshes are faster...
If I were going to pick one primitive, it would be triStrip.

NURBS are a trickier issue. However, since network bandwidth will
be an issue, I think is is worth byting the bullet and putting NURBS
in VRML.

LevelOfDetail - GREAT!!!

Where does the ambient light get specified? Don't we need an
Environment? If the answer is that the environent is not part of VRML,
then we need to supply an appendix that recommends what parameters
should be controllable.

Is the Ambient Color in the cycling example right? 0, 1, 1, 0??? (0,1,0,1)

Good common metaphors for lights: Directional == sunlight, hits all objects
from same direction at the same intensity, pointLight == naked light bulb,
ans spot light is light a light bulb inside a coffee can.

Does OpenInventor allow control over the attenuation of lights???
Perhaps it is better not to allow control, since it just confuses
most mortals. Anyway, please comment.

As mentioned before, filename for the texture URL is confusing.

Will their be rendering semantics specified? I.e., are OpenGL rendering
semantics implied? Will people care? This is a tricky issue because soon
enough there will be bugs saying (for example, ViewerXYZ point lights do
not light anything more than 2 units away, but Labyrinth does it
correctly) Will we be able to say what is correct?
The other argument is that you limit the hacks you can do.

Is there a default extension for textures?
Is there a default checkerboard texture? (i.e. require viewers to
find "checker.txr" locally.
The VRML spec should specify the file format of textures.

Good going on specifying the .wrl extension.

Is anyone working on public domain servers & viewers? This stuff will
catch on much more quickly if those are made available.

A lurking question I have is the politics of choosing Inventor. I think
it is a great choice technically - tho, I've never looked at WebOOGL.
I've been impressed with Inventor since it came out. But, sometimes
politics can be ...

YON,, Jan C. Hardenbergh, Oki Advanced Products 508-460-8655 =|= 100 Nickerson Rd. Marlborough, MA 01776
Success is being happy with yourself even if today is your last but
betting all your cyberbucks(TM) tomorrow will be better.