From: Jerry Isdale <72330.770@CompuServe.COM> Subject: TECH: world description Date: 10 Jul 92 10:07:36 EDT I've been following the threads here on the development of a VR World Description (language, protocol, standard, process, whatever), and have a few comments: networking There is a fair bit of discussion about multi-user and other distributed VR applications. This is great, but there is a tremendous amount of ground work in getting a single user system up. This newsgroup supports the middle and lower end VR folks (high end editors of MIT's Presence, etc may lurk, but dont seem to contribute much). Some of us have VR machines that would support a TCP/IP (internet) connection, some might have only local networking, many of us might own only a single user PC. I'm a representive of the latter. I dont have a direct Internet connection at present, only this mail-only Compuserve link. I dont want to see the development world description bogged down in details of how to distribute the reality synthesis. Remember it's hard to share something you dont even have. renderman there have been a couple of mentions of the renderman language, RIB and lately the mention of Interactive Renderman (Michael B. Johnson in TECH: Renderman). This is definately a nice standard for many applications. It also allows for a nice upgrade path for great images. I've skimmed The Renderman Companion and have an early copy of the spec, but have never gotten into its details. I'll have to see whats happening with it at siggraph. Remember though, it is a STATIC scene description. You create one full description for each frame and feed it into the renderer. This gives us a nice API at that level, but leaves the others open. scripting The scripting of object motion, interactivity and behavior is a major area that needs to be addressed. There are several types of scripts: canned animations, simulations with dynamic inputs, interaction, etc. Canned animations are fixed flight paths, like those generated by all the CGI packages. Most of these use some sort of spline or curve to define the motion path and time/frame relation. These definately have a place in VR. Consider them the next step up from the static world fly through... an animated world you can fly through. Simulations are a much higher level of animation. Constraint based animations are a form of simulation and are very useful. It would be nice to support them. Higher levels of simulation might put a more complex behavior controller behind an object, but that is beyond what i want to consider at present (neural net controllers, genetic sw, etc). Interactivity can be done several ways. You might have a GRAB function, like in the VPL systems (stick your hand through the coffee pot & make a fist). Perhaps you want to be able to knock it over or bounce it against a wall (collision detection, plus momentum). You might also prefer to point at the pot, wiggle your finger and have it float over to the table (my favorite virtual martian). These are some more complex issues to address. There is also the simple when-touched-explode/beep or pick-up & add to inventory functions that would be easier to script. user interface There is a LARGE area here to be explored. I dont want to see pull down menus, or other crude 2D widgets only. They have their place, and might be useful for some window-on-world vr apps. The control panels in VR Studio are an example. The next step would be to move the 2D panel off the window frame and into the 3D world. It would still be a 2D widget on flat panel, but the panel could float and be moved. There are conventions for 3D control widgets that need to be developed. Simple controls for manipulating an object, ways to display types of data (like the Xerox Parc Cone Trees etc in SIGCHI '91) The world description should have some way of designing (scripting) control panels. (i think in terms of worlds designed by one person to be experienced by others for many VR applications). Thats enough for now, i've got a new baby to go take care of. Later folks. Jerry Isdale, Project Leader, Group 3 (CIS ComArt VR developement effort)