Deva is a Sanskrit word that, technically translated, means intelligent agent. In ancient literature, devas are portrayed as angelic elements that maintain the physical world. Every tree, flower, river, and mountain was represented by a deva in charge of organizing its intelligence. Computer graphics researchers at the University of Manchester in England have put a modern-day spin on the concept by creating a deva to take charge of virtual worlds. This nouveau deva, called Deva, is an architectural framework for multi-user virtual environments that is intended to help ease the pain of programmers stymied by the rendering and programming deficiencies of existing tools that build worlds that neither look nor "feel" real.
|Objects that inhabit a Deva environment, including avatars such as this one, have properties and behaviors specific to them, but are also affected by the environment in which they're contained.|
"A lot of effort has gone into the visual presentation of virtual environments (VEs), but it is still a significant challenge to render a complex model, such as an oil platform, at interactive frame rates," says Deva co-developer Adrian West of the Advanced Interface Group at the University of Manchester in England. For such applications, he continues, "real geometry is needed for interaction, so techniques used in games, such as replacing geometry with textures, do not solve the problem."
Additionally, developers face the challenge of programming all of the possible interactions and behaviors that they want to occur within the environment and within the applications it contains. "Current VE systems tend to leave that up to the programmer by providing, for example, a mechanism to attach scripts to objects and events. But for non-trivial applications, the task of coding the behaviors and interactions of the environment is immense," says West. The challenge is further magnified in a distributed virtual environment shared by many people because of the problems introduced by networking latencies.
To solve the rendering problems, the researchers use a program previously developed by their team under the GNU free-software project for spatial management, graphics, and interaction called GNU Maverik (Manchester Virtual Environment Interface Kernal). Deva, which is being developed as an extension to Maverik to support large-scale shared virtual environments, addresses the issues of behavior and data distribution.
At Deva's core is a parallel server comprising a Linux cluster, which manages the behaviors of the objects and the environments that contain them. "[The server] is the logical locus of control for the simulated environments," says West. "The platform provides an efficient name layer and execution context so that applications refer to objects and environments by name and distribution is transparent." Each user of the system has a remote workstation running both a Deva sub client and Mav erik.
|Morcambe, a seaside town in England, is the focus of a virtual escape, or eSCAPE, as the project is called. The interactive model provides tourists with a virtual journey through the town. Maverik provides the rendering and data-management backbone, and t|
In addition to acting as control central for the rendering, spatial management, and interaction within an application, Mav erik manages the 3D peripherals and display devices, which can either be a headmounted display or stereo projection. "The idea is that the server models the underlying reality-its behavior laws and so forth-and your workstation looks after your personal perception of it," says West. He likens this conceptualization to human perception. "You experience the world as perceptually rich, smooth, and coherent, when in fact the raw data arriving at your senses is quite coarse. Much of your experience is fabricated by your perceptual capabilities."
In a shared environment, for example, "we might both see other people in the distance, but if they are not semantically important to the task at hand, we may never know that my view of them is in fact slightly different than yours, and that both views are based on incomplete data." What's important, he notes, is that our perception is smooth, coherent, and plausible. "We would certainly be disturbed if a person appeared to 'pop' into existence." While Deva cannot overcome significant latencies completely, a Deva-like approach "might make many VE applications workable."
In moving Deva from concept into (virtual) reality, the researchers have contended with their share of obstacles. Before Mav erik, says West, "we were stuck on the graphics and rendering problem. No framework was flexible enough to provide a one-size-fits-all solution for the broad range of applications we envisaged," says West.
"The problem with [today's tools] is that the application has to export its data into the VR system, and thus into some common representation of a VE that the system thinks is 'right.'" Typically, the lowest common denominator between the two is polygons, the rendering of which is computationally burdensome to the VE system, limiting it to simplistic models if interactive rates are to be achieved. If polygon-reduction is implemented, "the application-specific knowledge is effectively thrown away, yet that is what makes the telling optimizations possible."
|The Cage demonstrates the idea that Deva environments impose behaviors on their contents. Here, the scaled-down user in the cage is constrained by the laws of the cage (requisite size, range of motion), while the user outside is not subject to the same co|
It also becomes necessary to maintain two representations in synchrony: the data structures for the application and for the VE." The challenge grows exponentially with multi-user interaction over a network.
A beta release of Deva is planned for later this year. More information is available on the project Web site at http://aig.cs.man.ac.uk/systems/deva/.
Diana Phillips Mahoney is chief technology editor of Computer Graphics World.