VIRTUAL REALITY
Home ] Up ] VIRTUAL REALITY ] LESSON 2 ] LESSON3 ] LESSON 4 ] LESSON 5 ] LESSON 6 ] [ LESSON 7 ] LESSON 8 ] LESSON 9 ] LESSON 10 ] DESIGN PROJECT ]

 

QUEST 7
polygons

 

 

LESSON 7 - MODELING AND WORLD CREATION

REALITY SIMULATORS

The reality simulator is a computer (or computers) which provides the necessary computation, measurement, and control signals necessary to run the virtual world. Most commercially available VR systems use an Intel-based personal computer as the heart of the reality simulator. Additional hardware provides special functions which increase the speed and capability of the computer.

The reality simulator has several major functions. It must read any input sensors and translate their signals into a form usable by the computer program. It must calculate the effects of these input signals on the objects in the virtual world. It must generate a visual display incorporating any changes from the last such display. It must generate an audio display. It must provide control signals to any output actuators for force, touch, or other feedback signals and to any manipulators or devices.

All of the above functions must be completed in real time. This usually means that the entire cycle needs to be done in less than 1/20 to 1/30 of a second, as the limitation is usually the frame rate of the visual display. Any slower and the appearance of motion is lost.

It might seem that these speeds are not high when considered that TV presents 30 frames per second and movies provide 24. However, these media are merely presenting recorded versions of a fixed view. In a VR system the actions of the user influence what is in the next display. VR systems accomplish this by calculating the displays each frame rather than storing a large number of previously recorded ones. The operation can be speeded up by calculating changes to the display and not the entire scene each frame.

Generally the reality simulator operates with an event cycle. This is a list of all actions required. Because the complexity of generating visual displays and 3-D sounds can vary from one time to the next within the same program, the event cycle is usually not run at a fixed rate, but rather at a rate determined by the necessary computations. As long as the slowest rate is greater than the 20 frames or so per second needed for motion it doesn’t matter how long the actual event cycle lasts. Thus the minimum frame rate determines the maximum complexity of the event cycle.

As mentioned above in the section on sound generation, audio requires a regularly spaced operation. If sound generation - particularly complex 3-D sound - is a part of the event cycle it may dictate the timing of other items. An alternative method is to have the main computer calculate the desired sound output at irregular intervals (spaced as the event cycle) and transfer the results to a separate piece of hardware once during each event cycle. The hardware will provide the output signal to the sound display at a regular interval using the latest data with which it has been presented.

Usually a reality simulator will require a fairly high performance computer. Most available simulators are built around the latest version of the PC which, of course, changes almost daily. Sometimes more than one PC is used, each for a special purpose. For example, two different PCs can be used to generate the two different stereoscopic images needed for 3-D vision. This use of parallel processing can greatly increase overall operating speed and allow more complex operations but requires close coordination to ensure correct timing.

Special purpose hardware is often added to the basic PC. Such hardware may itself contain one or more microprocessors as well as other complex circuitry. Such subsystems are frequently used for 3-D sound generation and graphics control.

wpe9.jpg (7236 bytes)Because most VR application programs are relatively large, a fairly large memory is required. Computers can access information much more quickly from their memories than they can from disk or CD storage. But the geometry required - unless the VR world is extremely simple - can require vast amounts of storage space. It would be impractical to have a memory sufficiently large to store the entire application program as well as the necessary geometry of the objects. For this reason a fast disk drive is required to support large volume storage. If a number of different applications or geometries may be required at different times during the simulation, it is possible that a disk drive will not be sufficient to store them all. In this case a CD ROM may be used to store alternate sets which are transferred to the disk drive as needed. A CD ROM can store larger volumes of information but can not retrieve it as fast as a disk.

WORLD CREATION

Designing a virtual world consists largely in being able to manipulate objects in response to commands and inputs from sensors. The programming necessary for this can be accomplished in any computer language, such as C, BASIC, assembly, or even FORTRAN. Some languages are better suited than others. In general, however, it is inefficient for the world designer to begin at this level in the same way that the person typing a paper does not begin by writing his own word processing program. There exist commercially available toolkits of ready made programs that allow the world builder to perform the necessary functions without the necessity of starting at the lowest level.

One such example is the WorldToolKit available from Sense8. As described in Chapter 8 of the text, the following are some of the terms used with this set of software.

An OBJECT is a discrete three dimensional shape which may be manipulated and interacted with. Objects may be visual, audible or tactile. Objects can be grouped into a more complex object in the same way as in many graphical drawing programs. Objects are generally the movable items in a virtual world and may move in response to the program or in response to a user interaction.

The BACKDROP is the underlying background upon which the object move. Only one background may be present in the virtual world at a time.

The VIEWPOINT is the location within the virtual world from which the user observes the objects and backdrop. It is possible to have multiple viewpoints and even to display them simultaneously on the same display.

SENSORS in the toolkit refer to physical inputs from such items as position sensors and head trackers. They may be attached to either viewpoints or objects. An input attached to an object will result in a movement of the object. For example, moving a wired glove can cause the image of a hand in the virtual world to move in a corresponding manner. If the sensor is attached to a viewpoint - for example a head tracker - an input will result in a move of the user’s viewpoint within the virtual world.

LIGHTS in the virtual world are light sources which may be positioned and directed in different ways. Different characteristics, such as color and intensity, can be changed interactively. Lights may be moved about in the virtual world resulting in different illumination of objects and the backdrop.

The UNIVERSE is the currently used set of objects, backdrop, lights and so on which are active in the simulation. The universe is altered by bringing in or discarding different objects.

The simulation manager software normally controls the majority of the tasks associated with the operation of a virtual world. This is the overall core program around which special tasks and operations are built. The user can allow the simulation manager to handle almost all tasks in a standard, predetermined manner or can add special user programs to define unique interactions and objects. A number of management controls are provided in the form of programs. These can accomplish such things as special device support, object characteristics and interactions and control of modeling. The user can interface with the simulation manager in several ways ranging from use of compiled libraries (which may require extensive programming knowledge) to a graphical interface much like visual basic or other graphical menu programs.

GEOMETRY

Objects and scenes can be drawn from a set of coordinate values. This may seem obvious; however, until Sutherland and others developed the technique of drawing from coordinates, visual scenes for simulations were obtained from a camera "flown" over a model.

In general, virtual reality systems make drawings from a number of polygons. In fact the complexity of a drawing is generally described in terms of the number of polygons required. In rendering (drawing) a scene the computer must build up the overall picture one polygon at a time. Thus the more polygons, the longer the time required to render the scene. Why not then use as few polygons as possible? The reason for increased numbers of polygons is that the more polygons the more detailed and realistic the scene. Compare the two scenes shown on pages 122 and 123 of the text. The second of these gives a much more detailed and realistic view of the mountain range but requires ten times as many polygons.

If the computer speed requires the designer to limit the number of polygons, what can be done to increase the realism of the scene? Adding shading to the wire frame polygon structure gives the illusion of surface. Even more realistic representation is obtained by adding texture to the polygon surface instead using of a uniform shading. These techniques require less computer time than adding additional polygons and thus allow a more complex image to be drawn within the constraints of the event loop timing.

High end reality simulators, such as the Silicon Graphics Reality Engine can render more than 300,000 polygons per second. On the other hand a typical Pentium system can produce about 17,000 polygons per second. If a minimum of 10 frames per second is required to give the appearance of motion - 20 to 30 is more realistic - this would limit each scene to 1700 polygons. If 3-D images are used, this number can be cut in half as a separate rendering is needed for each eye, although this penalty can be cut to about 20% with the use of dual graphics boards.

While the above numbers indicate severe limitations to what may be done with a low end system, it should be remembered that within the last two years PC systems have increased from 300-500 polygons per second to the current 1,700. Actually this has increased somewhat beyond this value as the Pentium described in the text is a couple of years out of date.

The use of faster PCs and techniques of texturing may be coupled with some of the perception methods previously described to provide the illusion of 3-D vision by texture density and size variations. Using current PC systems it is possible to develop a relatively low cost virtual reality system.