I have been reading a number of posts here today (what volume!), and I've
come upon a problem.
While discussing sound, I suggested the use of "particles". Since doing a
little thinking caused me to realize the magnitude of what I suggested, I
now consider that to be a bad idea. But it caused me to think.
What are we assuming to be the general operating paradigm of a VRML
system?
I came upon this because I had suggested that sound particles had to be
"ray traced" acoustically by a server. This led me to wonder whether such
a function could be built into the browser, and then I wondered if anyone
else was trying to define how much of this system will be on the server,
and how much on the client.
Clearly, if we are to provide a fully interactive, multi-user environment
inside a VRML space, we need a central server. Networked games (yes, I'm
going to use games again) like Netrek (Paradise) need a central server to
distribute the "space" so that all the users can interact with each other.
What if there is an interactive space which is meant only to be single
user, like a Sears catalog that you can walk through and look at products
before buying? It could be distributed on a CD-ROM, and all the viewing
and interacting could take place entirely on the browser, or client
machine.
This is the same difference that exists now between using a HTML browser
either on the net with http:// links, or stand-alone with file:// links.
Is VRML defined to be Client/Server, Peer-to-Peer, or Single System?
Another conceptual trauma, even more basic: Are VRML spaces static, or
dynamic? Obviously there is some dynamism in the use of a link, but does
that mean that each link simply takes you to another static space? I
think the answer is "No".
This brings us to the question of how interaction is defined (is it part
of the VRML language?). The reaction some folks had recently to simple
"rotating" objects leads me to think that such things are not intended to
be part of VRML.
Do we need to limit VRML to the simple process of "marking up" a static
scene? Should we then define another language for interaction and motion
("what to do when the user does something"), to add the dynamism of an
interactive environment?
Getting back to sound (in a way): If we do a some suggest, and leave sound
as an option, or an add-on (macro?) to the language, how are we to attach
the sound to an object? Ambient background noise doesn't need attachment,
but a telephone ring does. Moving around the space causes the attached
sounds to change, so that implies a dynamic environment, rendered
continuously (many "frames" per second) by the client browser. This
implies that the dynamism has to be supplied by the browser, and that VRML
spaces can be distributed as static definitions.
This leads me to my last question: Since the dynamic part of VRML is at
the client, don't we now need yet another language and transport system
for the servers to run which distributes the changes to the space that
one user makes, to all the other users who are in that same (multi-user
interactive) space? Do we need a VR Interaction Protocol (VRIP)?
---
Andrew C. Esh mailto:[email protected]
Computer Network Technology [email protected] (finger for PGP key)
6500 Wedgwood Road 612.550.8000 (main)
Maple Grove MN 55311 612.550.8229 (direct)
<A HREF="http://www.mtn.org/~andrewes">ACE Home Page</A>