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.
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