Using a 3D graphics editor to construct VRML scenes is not always effective. Aligning objects and placing them relative to other objects can be difficult. We have built a prototype language, called IVL, that allows many scene graphs to be built quickly and easily, and manipulated across a network with simple English-like commands. We have made IVL network aware---all file references apply equally well to URL's, so for instance it doesn't matter where the parts of the scene graph are stored or where the command files are stored. Similarly, IVL can deliver its results locally or across a network using the HTTP protocol.
Because IVL is an interpreted language, scenes are created and modified as commands are executed. Our prototype implementation uses a modified Open Inventor-based VRML browser to display the scene graph.
Although IVL was developed for Open Inventor scenes, we have adapted and expanded it for use on VRML scenes. Consequently, we have tried to keep a close association between the names and conventions used in IVL and VRML whenever possible. For example, to create a scene containing a ball on top of a box, one would write
ball = Sphere // Create named instance box = Cube draw box // Render box draw ball above box // Transform & render ball
All objects are placed relative to a previously-drawn object and, unless specified otherwise, are placed with bounding boxes touching; thus in this example, the ball is sitting directly on the top of the box. Distances between objects can be specified in ``world coordinates''; e.g.,
draw ball 3 above box
places the ball 3 units above the box.
In this paper, we describe the IVL language definition and implementation then explore the applications made possible via VRML and IVL. The applications of IVL discussed in this paper is still under development, but we present our ideas and directions here to foster growth in interactive VRML development by other researchers.