The sort-first rendering architecture for high-performance graphics

Interactive graphics applications have long been challenging graphics system designers by demanding machines that can provide ever increasing polygon rendering performance. Another trend in interactive graphics is the growing use of display devices with pixel counts well beyond what is usually considered “high-resolution.” If we examine the architectural space of high-performance rendering systems, we discover only one architectural class that promises to deliver high polygon performance with very-high-resolution displays and do so in an efficient manner. It is known as “sort-first.” We investigate the sort-first architecture, starting with a comparison to its architectural class mates (sort-middle and sort-last). We find that sort-first has an inherent ability to take advantage of the frame-to-frame coherence found in interactive applications. We examine this ability through simulation with a set of test applications and show how it reduces sort-first's communication needs and therefore its parallel overhead. We also explore the issue of load-balancing with sort-first and introduce a new adaptive algorithm to solve this problem. Additional simulations demonstrate the effectiveness of this algorithm. Finally, we touch on a variety of issues that must be resolved in order to fulfill sort-first's ultimate promise: millions of polygons for zillions of pixels.

[1]  Henry Fuchs,et al.  A sorting classification of parallel rendering , 1994, IEEE Computer Graphics and Applications.

[2]  Franklin C. Crow,et al.  Summed-area tables for texture mapping , 1984, SIGGRAPH.

[3]  Thomas W. Crockett,et al.  A PARALLEL RENDERING ALGORITHM FOR MIMD ARCHITECTURES , 1991 .

[4]  John G. Eyles,et al.  PixelFlow: high-speed rendering using image composition , 1992, SIGGRAPH.

[5]  Daniel S. Whelan Animac: a multiprocessor architecture for real-time computer animation (graphics, shadows, vlsi) , 1985 .

[6]  David Ellsworth A new algorithm for interactive graphics on multicomputers , 1994, IEEE Computer Graphics and Applications.

[7]  Henry Fuchs,et al.  Pixel-planes 5: a heterogeneous multiprocessor graphics system using processor-enhanced memories , 1989, SIGGRAPH.

[8]  James H. Clark,et al.  Hierarchical geometric models for visible surface algorithms , 1976, CACM.

[9]  Kurt Akeley,et al.  Reality Engine graphics , 1993, SIGGRAPH.

[10]  Michael F. Deering,et al.  Leo: a system for cost effective 3D shaded graphics , 1993, SIGGRAPH.

[11]  Scott Whitman Multiprocessor methods for computer graphics rendering , 1992 .

[12]  Scott Whitman Dynamic load balancing for parallel polygon rendering , 1994, IEEE Computer Graphics and Applications.

[13]  Carolina Cruz-Neira,et al.  Surround-Screen Projection-Based Virtual Reality: The Design and Implementation of the CAVE , 2023 .

[14]  David Ellsworth,et al.  Distributing display lists on a multicomputer , 1990, I3D '90.

[15]  Steven Molnar,et al.  Image-Composition Architectures for Real-Time Image Generation , 1991 .

[16]  Thomas Ertl,et al.  Computer Graphics - Principles and Practice, 3rd Edition , 2014 .

[17]  Thomas W. Crockett,et al.  A MIMD rendering algorithm for distributed memory architectures , 1993 .