VRML Scene Graph
+-------------+ +----------------+ *
| | | | / \
| Behavior | | Engine +---| * *
| generator | | | | =========> / \ \
| | | | | . . *
| | | | | =========> |
| | | | | ---+------
| | | | | =========> | | | |
| OI Sensors, | | +---| . . . .
| algorithms| |---+ |
| Scripted | ==> | | |
| actions | | | |
| Message | ==> | | |
| passing | | | |
| Open | ==> | | |
| extensions| | | |
| IEEE DIS | ==> | | |
| Protocol | |---+ |
| | | |
+-------------+ +----------------+
Key points in this representation:
- Engine outputs only operate on the scene graph. Thus behaviors do not
have any explicit control over the host machine (unlike CGI scripts).
- Behaviors are engine drivers. Engines are scene graph interfaces.
Details:
- A wide variety of behavior mechanisms might stimulate engine inputs.
- Sensors & algorithmic calculator methods in OI provide numerous
deterministic stimuli. Some or all might be practical for VRML 2.0
- Scripted actions might be embedded in the scene graph, sent live over
the network or read from a file/URL. Network connections might be
MUD/MUSH/MOO, multicast channel, etc.
- Message passing can be done by local user or a software agent.
- Open extensions might be passed via command line (e.g. http URLs)
or other great ideas not foreseen here.
- IEEE Distributed Interactive Simulation (DIS) protocol provides a
variety of mechanisms for entity-level (application layer) interactions.
Most likely an 'extended subset' approach to DIS is most practical.
DIS Entity State PDUs are the primary way that physically-based entities
communicate position/posture, dead reckon, and deal with latency simply.
There is no need to start from scratch on network-based entity physics.
- Any network connections that are unicast (point-to-point) instead of
multicast (several-to-many) will not scale up.
This behavior outline is intended to show that we can simultaneously have
simplicity, security, scalability and open extensions. Doubtless
other people have expressed similar ideas on the list or in offline work
(BehaviorEngine?). I hope this outline provides clear initial
concept definitions as a basis for understandable discussion.
The fact that a variety of browsers are successfully implementing
"VRML 1.0" is good evidence that the core specification will work.
Of course we will all have to use browsers, write scene graphs, try
breaking things etc. to test "VRML 1.0" but any consensus-based changes
coming out of the test period will likely be cosmetic. Personally I
was reluctant to move past 1.0 prior to a public shakedown, but most
discussions at the I3DG BOF earlier this week led to a practical conclusion
that (like it or not) 1.0 is pretty much a done deal. Thus let's continue
Chris Hall's opening thread and keep hammering on just what 'behaviors' are.
all the best, Don
-- Don Brutzman Naval Postgraduate School, Code UW/Br work 408.656.2149 Monterey California 93943-5000 USA fax 408.656.3679 AUV Underwater Virtual World ftp://taurus.cs.nps.navy.mil/pub/auv/auv.html