CHI '95 ProceedingsTopIndexes
Doctoral ConsortiumTOC

A System for Application-Independent
Time-Critical Rendering

Rich Gossweiler

University of Virginia,
School of Engineering
Department of Computer Science
rich@Virginia.edu

© ACM

Abstract

I am developing a rendering system which supports automatic, application-independent time-critical rendering for 3D graphics. When the scenes being generated overload the rendering engine, a rendering scheduler employs perception-based techniques to reduce the scene complexity at run-time. Perception-based degradation mechanisms are used because they are based on characteristics of the human, not characteristics of the application. Since the human is the one element guaranteed to exist across all interactive applications, this rendering system is application-independent.

Keywords:

virtual reality, virtual environments, time-critical rendering, rendering scheduler, image degradation, real-time, application-independence, interactive graphics.

Introduction

Given enough cpu-time, present graphics technology can render near photo-realistic images. However, for real-time graphics applications, developers must make explicit programming decisions, trading off rendering quality for interactive update rates. For highly-interactive programs, such as virtual environment applications, the human perceptual system drives the rendering requirements, especially the need to maintain a minimum of ten frames per second or faster. At the same time, developers are trying to present a high-fidelity graphics environment with a more realistic scene and a richer set of perceptual cues to help immerse the user. This time/quality conflict forces the developer to identify when the rendering engine is overloaded and to manually implement time-critical rendering techniques in order to maintain immersive frame rates.

Previous systems using time-critical rendering techniques rely on application-specific information to improve frame rates. This restricts the domain of applications for which this technique is applicable. The developer must determine whether the given technique is appropriate and then structure the application to support the required data constructs. This must be performed manually for each new application. Systems such as Performer [5] and the work by Funkhouser [3] address this by building in application-independent degradation mechanisms that automatically execute in order to achieve time-critical rendering goals.

I am developing a rendering system which performs degradation automatically, during run-time, as part of the rendering process. This system transparently separates the application semantics from the rendering process. The application-independent rendering engine uses a time-driven rendering scheduler which employs a combination of different perception-based degradation techniques. Perception-based degradation mechanisms are used because they are based on characteristics of the human, not characteristics of the application.

PERCEPTION-BASED TECHNIQUES

Perception-based rendering techniques capitalize on the capabilities and limitations of the human (visual) perception systems. For example, consider a scene with several objects placed at different distances from the user. These distances change during run-time based on the non-deterministic behavior of the user. Objects which are too distant to be perceived may be removed. From the user's standpoint, this image-degradation is lossless, even though from an image processing standpoint pixels may have changed. But as more objects are removed from the distance, the user will begin to perceive changes to the image -- lossy degradation from the human standpoint. Perception-based degradation techniques trade off this human-centered definition of lossiness for increased rendering speed. There are several properties of the human visual system which may be exploited when performing degradation:
  • Field-Of-View -- a space in which objects may be perceived at different resolutions. If an object is near the center (foveal FOV), where visual acuity is higher, then it should be rendered with higher levels of detail than objects in the periphery.
  • Distance -- as objects are more distant, the visual acuity decreases, and atmospheric haze reduces the level of detail that can be perceived.
  • Motion -- if an object is in motion, then the object may be blurred, allowing for reduced detail.
  • Attention factor -- often termed tunnel vision, the effective field-of-view narrows when the user is extremely attentive to a specific task or object.
  • Spatial frequency -- measured in cycles per degree of visual angle, this is the texture or gradient of an image.
  • history -- if the object has been perceived at a higher level of detail previously, then it may be possible to degrade and let the mind fill in the details.
  • Designing degradation mechanisms around these perception properties ensures that the time-critical rendering will be application-independent.

    SYSTEM ARCHITECTURE

    Many existing virtual environments/graphics systems, such as Sense8's WorldToolkit [6] and IRIS Inventor [8], work within a single process. This couples the graphics rendering rate (based on the movement of the user's head) to the underlying simulation's computation speed. If one were simulating a billiard table, for example, and the collision detection module were only capable of calculating at two frames per second, the user's visual system would be forced to update at two frames per second as well. If I separate the simulation computation rate from the rendering frames, I gain the ability to render scenes in real-time, even when simulation computations become more complicated.
    See figure 1:Separation of Application and Rendering.

    This model of computation also allows the rendering engine to function independently of the application, and ensures application independence for the rendering engine [4] [7]. To provide automated degradation, a rendering scheduler is embedded within the rendering engine. This scheduler is responsible for determining how much time is available and to what extent to employ the degradation mechanisms.

    RENDERING SCHEDULER

    Within the rendering engine a rendering scheduler adaptively executes time-critical rendering algorithms based on the frame-rate and scene-complexity. Since these decisions are made at run-time, and since a non-deterministic user may abruptly change the complexity of the scene simply by turning his or her head, the scheduler must be reactive, seeking feasible, rather than optimal solutions. This differs from other time-critical rendering techniques which pre-process the 3D model and construct data structures to be used at run-time [1] [2] [9]. The run-time dynamics allow the rendering scheduler to orchestrate different degradation mechanisms, degrading for overloaded scenes, and for only a few objects, rather than for all objects over the entire period of the application. Degradation mechanisms include:
  • Level-Of-Detail: various levels of detail
  • Spatial (Visual-set) partitioning
  • High-resolution insets
  • Culling, clipping and elision
  • Adaptive refinement
  • [this prose originally appeared as a short paper in the ACM Proceedings of SIGCHI `94 Conference on Human Factors in Computing, 1994, pg. 261.]

    BIBLIOGRAPHY

    1. Airey, John M., John H. Rohlf and Frederick Brooks, Jr., Towards Image Realism with Interactive Update Rates in Complex Virtual Building Environments, Computer Graphics, 24(2), March 1990, pp. 41-50.

    2. Funkhouser, Thomas A., Carlo H. Squin and Seth J. Teller, Management of Large Amounts of Data in Interactive Building Walkthrough, 1992 Symposium on Interactive 3D Graphics, ACM SIGGRAPH, Cambridge Mass., April 1992, pp. 11-20.

    3. Funkhouser, Thomas A., Carlo H. Squin, Adaptive Display Algorithm for Interactive Frame Rates During Visualization of Complex Virtual Environments, ACM Annual Proceedings of SIGGRAPH `93, (Anheim, California, August 1-6, 1993), Addison-Wesley, pp. 247-254.

    4. Gossweiler, Rich, Chris Long, Shuichi Koga, Randy Pausch, DIVER: a Distributed Virtual Environment Research Platform, IEEE Symposium on Research Frontiers in Virtual Reality , 25-26 Oct 93, San Jose, CA, IEEE Computer Society Press, pp. 10-15.

    5. Rohlf, John and James Helman, IRIS Performer: A High-Performance Multiprocessing Toolkit for Real-Time 3D Graphics , ACM Annual Proceedings of SIGGRAPH `94, (Orlando, Florida, July 24-29, 1994), Addison-Wesley, pp. 381-394.

    6. Sense8 Corporation: WorldToolkit: Virtual Reality Support Software, 4000 Bridgeway Suite 101, Sausalito, CA, 94965, telephone: (415) 331-6318.

    7. Shaw, Chris, Jiandong Liang and Mark Green, The Decoupled Simulation Model for Virtual Reality Systems , Human Factors in Computing Systems (CHI'92 Conference Proceedings), Monterey, CA, May 1992, pp. 321-328.

    8. Strauss, Paul and Rikk Carey, An Object-Oriented 3D Graphics Toolkit , Computer Graphics (SIGGRAPH `92 Proceedings), 26(2), July 1992, pp. 341-350.

    9. Yan, J.K. Advances in Computer-Generated Imagery for Flight Simulation , IEEE Transactions on Computer Graphics and Applications , 5(8), 1985, pp. 37-51. Figure 1: Separation of application and rendering