PARALLEL RENDERING

This article provides a broad introduction to the subject of parallel rendering, encompassing both hardware and software systems. The focus is on the underlying concepts and the issues which arise in the design of parallel rendering algorithms and systems. We examine the different types of parallelism and how they can be applied in rendering applications. Concepts from parallel computing, such as data decomposition, task granularity, scalability, and load balancing, are considered in relation to the rendering problem. We also explore concepts from computer graphics, such as coherence and projection, which have a significant impact on the structure of parallel rendering algorithms. Our survey covers a number of practical considerations as well, including the choice of architectural platform, communication and memory requirements, and the problem of image assembly and display. We illustrate the discussion with numerous examples from the parallel rendering literature, representing most of the principal rendering methods currently used in computer graphics.

[1]  William H. Ninke Graphic 1: a remote graphical display console system , 1965, AFIPS '65 (Fall, part I).

[2]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[3]  Ivan E. Sutherland,et al.  On the design of display processors , 1968, Commun. ACM.

[4]  Ivan E. Sutherland,et al.  A clipping divider , 1899, AFIPS '68 (Fall, part I).

[5]  R. Schmacher,et al.  Study for Applying Computer-Generated Images to Visual Simulation: (510842009-001) , 1969 .

[6]  Robert A. Schumacker,et al.  A Characterization of Ten Hidden-Surface Algorithms , 1974, CSUR.

[7]  Henry Fuchs,et al.  Distributing a visible surface algorithm over multiple processors , 1977, ACM '77.

[8]  Henry Fuchs,et al.  An Expanded Multiprocessor Architecture for Video Graphics. , 1979, ISCA 1979.

[9]  Michael Kaplan,et al.  Parallel processing techniques for hidden surface removal , 1979, SIGGRAPH '79.

[10]  James H. Clark,et al.  Special Feature A VLSI Geometry Processor For Graphics , 1980, Computer.

[11]  Frederic I. Parke,et al.  Simulation and expected performance analysis of multiple processor Z-buffer systems , 1980, SIGGRAPH '80.

[12]  Nelson L. Max,et al.  Vectorized procedural models for natural terrain: Waves and islands in the sunset , 1981, SIGGRAPH '81.

[13]  James H. Clark,et al.  The Geometry Engine , 1982, SIGGRAPH.

[14]  David D. Redell,et al.  Evolution of the Ethernet Local Computer Network , 1982, Computer.

[15]  Isao Shirakawa,et al.  Links-1 - a parallel pipelined multimicrocomputer system for image creation , 1983, ISCA '83.

[16]  Bruce J. Schachter Computer Image Generation , 1983 .

[17]  Michael J. Bailey,et al.  The Vectorization of a Ray-Tracing Algorithm for Improved Execution Speed , 1985, IEEE Computer Graphics and Applications.

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

[19]  James D. Foley,et al.  Parallel processing approaches to hidden-surface removal in image space , 1985, Comput. Graph..

[20]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[21]  Tadashi Naruse,et al.  SIGHT‐A Dedicated Computer Graphics Machine , 1987, Comput. Graph. Forum.

[22]  Scott Whitman,et al.  A Vectorized Scan-Line Z-Buffer Rendering Algorithm , 1987, IEEE Computer Graphics and Applications.

[23]  R. Earnshaw,et al.  Parallel processing for computer vision and display , 1989, SIGGRAPH '88.

[24]  Arie E. Kaufman,et al.  Memory and processing architecture for 3D voxel-based imagery , 1988, IEEE Computer Graphics and Applications.

[25]  Donald P. Greenberg,et al.  A progressive refinement approach to fast radiosity image generation , 1988, SIGGRAPH.

[26]  David N. Chin,et al.  The Princeton Engine: a real-time video system simulator , 1988 .

[27]  Brian Apgar,et al.  A display system for the Stellar graphics supercomputer model GS1000 , 1988, SIGGRAPH.

[28]  William S. Worley,et al.  The Titan Graphics Supercomputer architecture , 1988, Computer.

[29]  Theoharis Theoharis Algorithms for Parallel Polygon Rendering , 1989, Lecture Notes in Computer Science.

[30]  Geoffrey C. Fox,et al.  Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 , 1989 .

[31]  Floyd E. Ross,et al.  An overview of FDDI: the fiber distributed data interface , 1989, IEEE J. Sel. Areas Commun..

[32]  Michael Potmesil,et al.  The pixel machine: a parallel image computer , 1989, SIGGRAPH.

[33]  J. Salmon,et al.  A hypercube Ray-tracer , 1989, C3P.

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

[35]  Donald P. Greenberg,et al.  Acceleration techniques for progressive refinement radiosity , 1990, I3D '90.

[36]  R. Yagel,et al.  A survey of architectures for volume rendering , 1990, IEEE Engineering in Medicine and Biology Magazine.

[37]  Daniel R. Baum,et al.  Real time radiosity through parallel processing and hardware acceleration , 1990, I3D '90.

[38]  Claude Puech,et al.  Improving interaction with radiosity-based lighting simulation programs , 1990, I3D '90.

[39]  Stuart A. Green,et al.  Parallel processing for computer graphics , 1991, Research monographs in parallel and distributed computing.

[40]  Gordon Stoll,et al.  Interactive terrain rendering and volume visualization on the Princeton Engine , 1992, Proceedings Visualization '92.

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

[42]  Gordon Stoll,et al.  Data parallel volume rendering as line drawing , 1992, VVS.

[43]  Philip K. Robertson,et al.  Volume rendering on the MasPar MP-1 , 1992, VVS.

[44]  John R. Wright,et al.  A voxel-based, forward projection algorithm for rendering surface and volumetric data , 1992, Proceedings Visualization '92.

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

[46]  Daniel A. Reed,et al.  A performance analysis exemplar: Parallel ray tracing , 1992, Concurr. Pract. Exp..

[47]  Marc Levoy,et al.  Volume rendering on scalable shared-memory MIMD architectures , 1992, VVS.

[48]  Amitabh Varshney,et al.  An environment-projection approach to radiosity for mesh-connected computers , 1992 .

[49]  Joseph Peters,et al.  A pyramid-based approach to interactive terrain visualization , 1993, Proceedings of 1993 IEEE Parallel Rendering Symposium.

[50]  William M. Hsu Segmented ray casting for data parallel volume rendering , 1993 .

[51]  Wilfrid Lefer,et al.  An efficient parallel ray tracing scheme for distributed memory parallel computers , 1993, Proceedings of 1993 IEEE Parallel Rendering Symposium.

[52]  Judy Challinger Scalable parallel volume raycasting for nonrectilinear computational grids , 1993 .

[53]  Emilio Camahort,et al.  Integrating volume data analysis and rendering on distributed memory architectures , 1993 .

[54]  Christopher Giertsen,et al.  Parallel volume rendering on a network of workstations , 1993, IEEE Computer Graphics and Applications.

[55]  R. E. Kessler,et al.  Cray T3D: a new dimension for Cray Research , 1993, Digest of Papers. Compcon Spring.

[56]  Tolga K. Çapin,et al.  Progressive refinement radiosity on ring-connected multicomputers , 1993 .

[57]  F. A. Ortega,et al.  Fast data parallel polygon rendering , 1993, Supercomputing '93.

[58]  Mel Slater,et al.  A Multiprocessor Implementation of Radiosity , 1993, Comput. Graph. Forum.

[59]  Tzi-cker Chiueh,et al.  Cube-3: a real-time architecture for high-resolution volume visualization , 1993, VVS '94.

[60]  Thomas W. Crockett DESIGN CONSIDERATIONS FOR PARALLEL GRAPHICS LIBRARIES , 1994 .

[61]  Werner Purgathofer,et al.  Progressive Refinement Radiosity on a Transputer Network , 1994 .

[62]  Wolfgang Straßer,et al.  A compact volume rendering accelerator , 1994, VVS '94.

[63]  Kwan-Liu Ma,et al.  Parallel volume rendering using binary-swap compositing , 1994, IEEE Computer Graphics and Applications.

[64]  Ulrich Neumann Communication costs for parallel volume-rendering algorithms , 1994, IEEE Computer Graphics and Applications.

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

[66]  Cláudio T. Silva,et al.  Parallel performance measures for volume ray casting , 1994, Proceedings Visualization '94.

[67]  Marc Levoy,et al.  Parallel visualization algorithms: performance and architectural implications , 1994, Computer.

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

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

[70]  Derek J. Paddon,et al.  Parallel Processing of Progressive Refinement Radiosity Methods , 1994 .

[71]  Thierry Priol,et al.  Distributing data and control for ray tracing in parallel , 1994, IEEE Computer Graphics and Applications.

[72]  Thomas W. Crockett,et al.  Parallel polygon rendering for message-passing architectures , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

[73]  Pat Hanrahan,et al.  A distributed snooping algorithm for pixel merging , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

[74]  Paul Mackerras,et al.  Exploiting data coherence to improve parallel volume rendering , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

[75]  Ronald J. Vetter,et al.  ATM concepts, architectures, and protocols , 1995, CACM.

[76]  Carl Mueller,et al.  The sort-first rendering architecture for high-performance graphics , 1995, I3D '95.