9781568811017: Real-Time Rendering

Synopsis

Realistically animated 3D computer graphics rendered in real time is a goal of the computer animation industry. Tomas Mˆller and Eric Haines provide a text that covers the development of real-time rendering for use in computer games, computer-animated movies, advertising, and other applications. The authors have written the book that they wish they had when they started out. Focusing on the entire graphics pipeline, this book covers optimization, visual appearance, speed-up techniques, and collision detection. The authors present new techniques and time-tested algorithms. Entire sections are devoted to special effects, polygon tessellation, and model simplification. A large section on hardware ends the book. Copious references, mathematical appendices, reading recommendations, and a dedicated web site for additional resources make this book an indispensable guide to this rapidly evolving field.The Graphics Rendering Pipeline; Transforms; Visual Appearance; Texturing; Special Effects; Speed-Up Techniques; Pipeline Optimization; Polygonal Techniques; Intersection Test Methods; Collision Detection; Graphics Hardware; The Future; Some Linear Algebra; Trigonometry

Second Edition now available.

"synopsis" may belong to another edition of this title.

Review

One would think that the title of Tomas Moller's and Eric Haines's book, Real-time Rendering, would be a contradiction in terms. How can such a computationally intensive process as rendering computer graphics ever hope to be done on the fly, in the blink of an eye, without delay--in short, in real time?

The term rendering, as it applies to computer graphics, refers to the mathematically intensive process of creating a picture or sequence of frames based on geometry. The duration of this process is dependent on the complexity of the scene (a forest with many trees and thousands of leaves will take much longer to render than a scene consisting of a white box over a gray background) and the speed of the hardware doing the calculations.

When Pixar's Toy Story was first released, the computer animation community was all abuzz with how it was done, and someone at Pixar mentioned that over 100 SGI workstations were used for rendering the frames over the course of almost two years. Someone else extrapolated this data and figured out that the same movie could have been rendered on one contemporary PC over the course of about 80 years.

The authors deftly answer the question, not only asserting that it can be done, but since this book is a programmer's guide, they list snippets of programming algorithms that help outline how it can be done.

Because the software and hardware is constantly and rapidly evolving due to the insatiable need for more realistic and complex graphics, the book avoids getting too specific. To quote the authors, "The field is rapidly evolving, and so it is a moving target." This lack of specificity doesn't detract from the usefulness of the book, though. Instead, it works at a higher, more abstract level, describing approaches to rendering techniques using generic algorithms. It is up to the programmer to apply these methods to the specific program or system on which it is to be implemented.

Real-Time Rendering describes some very complex methods, and this book is not for the average computer graphics creator. However, if you are working in an industry that depends on real-time rendered animation--like the gaming, medical, or military fields--or you are building the next-generation real-time render engine, this book will offer insight and concepts you can use to build some impressive software. --Mike Caputo

From the Author

The book we wish we had owned when we started out
The field of computer graphics has become complex enough that a single book covering it all must, of necessity, be shallow in some way. Introductory texts give a solid foundation, but ignore more complex topics. API-specific volumes describe the exact syntax needed to make a graphics library perform some operation, but at the expense of having to limit themselves to what the API could do and the author could fit into the book. Our approach is to explain the algorithms and techniques currently used in the field of real-time rendering. We take up where the introductory texts leave off, and focus solely on 3D interactive rendering. By avoiding specific API constraints we are able to more fully cover the field's breadth of topics and avoid the minutiae of implementation details. While aimed at the intermediate level programmer, the book is also useful as a reference. We have recorded the workings of many algorithms in one place, contrasting and comparing methods of solving various problems.

"About this title" may belong to another edition of this title.