Derived from a doctoral dissertation written at the Ohio State University, this book is intended for a technical audience looking for specific information and experience on parallel computing for graphics. The problem is hot, and there are many excellent ideas, techniques, and publications on how to take advantage of commercially available parallel or multiprocessor machines to reduce the time spent in rendering highly complex graphics. A lot has been written on the algorithms themselves, especially for image synthesis, and Whitman concentrates on “image space rendering methods,” or adaptive display partitioning.
In an introduction, the author reviews the different methods currently used for image generation in the world of parallel computing. He then mentions and quickly describes numerous multiprocessor architectures and examines their characteristics. This chapter is worth reading, as it provides a good study of many different approaches. In a separate chapter, the author selects criteria to evaluate the suitability of different multiprocessor architectures for the implementation of parallel graphics algorithms. More details are then given on the BBN Butterfly and its programming environment.
Starting from a single basis graphics rendering algorithm, the author studies different schemes for parallelizing the rendering algorithm and partitioning the different tasks and memory referencing schemes. The different approaches studied include scan-line decomposition, two types of rectangular region decomposition, a data adaptive partitioning scheme, and a task adaptive partitioning scheme. For each case, a detailed study of the scheduling, inter-task communications, network contention, load balancing, and code modification is presented. Whitman also compares the four methods studied, showing that one of the rectangular region decomposition methods provides the best overall results.
The author also examines other parameters affecting the performance of parallel algorithms, such as shared memory storage and referencing methods, the operating system and architecture characteristics of a system, and the image and object complexity. This section of the book is specifically interesting for the algorithm programmer on parallel architectures, as it provides a comprehensive framework for comparing different schemes.
This volume is an excellent technical book on tiling techniques for parallel implementations of algorithms in three-dimensional graphics. Different methods are presented and analyzed, and the results obtained are explained, giving readers a chance to better compare them with their own choices and development environments. The book is accompanied by an excellent bibliography on the subject of parallel computing, with a graphics twist.