Real-Time Rendering FROM THE PUBLISHER
Rendering realistic 3D images in a fraction of a second is an important goal in today's computer graphics industry. With the timely publication of "Real-Time Rendering," authors Tomas Möller and Eric Haines present algorithms of lasting value, for use in computer-aided design, simulation, virtual reality worlds, and games. Focusing on the graphics pipeline, the book has chapters on transforms, optimization, visual appearance, polygon manipulation, collision detection, and special effects. Also included are a wide range of texture algorithms, intersection methods, and speed-up techniques. The book concludes with a section on hardware, including case studies of various graphics systems. Appendices on linear algebra and trigonometry give concise summaries for these fields. Copious references, reading recommendations, and a dedicated web site for additional resources make this book an indispensable guide in this rapidly evolving field.
SYNOPSIS
From the Introduction (Chapter 1).
What follows is a brief overview of the chapters ahead.
Chapter 2, The Graphics Rendering Pipeline. This chapter deals with the heart of real-time rendering, the mechanism that takes a scene description and converts it into something we can see.
Chapter 3, Transforms. The basic tools to manipulate position, scaling, orientation, etc, of objects and the viewer are transforms.
Chapter 4, Visual Appearance. This chapter covers the definition of materials and lights and their use in achieving a realistic surface appearance. Also covered are other appearance-related topics, such as providing higher image quality through antialiasing and gamma correction.
Chapter 5, Texturing. One of the most powerful hardware-accelerated tools for real-time rendering is the ability to display data such as images on surfaces. This chapter discusses the mechanics of this technique, called texturing, and presents a wide variety of methods for applying it.
Chapter 6, Special Effects. There is more to rendering than creating surfaces, materials, and textures. This chapter presents techniques and tricks beyond the basics.
Chapter 7, Speed-Up Techniques. After you make it go, make it go fast. Various forms of culling, model representation, and geometry consolidation are covered here.
Chapter 8, Pipeline Optimization. Once an application is running and uses efficient algorithms, it can be made even faster using various optimization techniques. Finding the bottleneck and deciding what to do about it are the topics covered here.
Chapter 9, Polygonal Techniques. Geometric data comes from a wide range of sources, and sometimes requires modificationin order to be rendered rapidly and well. This chapter discusses polygonal data and ways to clean it up and simplify it.
Chapter 10, Intersection Test Methods. Intersection testing is important for rendering, user interaction, and collision detection. In-depth coverage is provided here for a wide range of the most efficient algorithms for common geometric intersection tests.
Chapter 11, Collision Detection. Finding out whether two objects touch each other is a key element of many real-time applications. This chapter presents some efficient algorithms in this rapidly evolving field.
Chapter 12, Graphics Hardware. While graphics-hardware-accelerated algorithms have been discussed in the previous chapters, this chapter focuses on components such as color depth, frame buffers, and basic architecture types. Case studies of a few representative graphics accelerators are provided.
Chapter 13, The Future. Take a guess (we do).
We have included appendices on linear algebra and trigonometry.
FROM THE CRITICS
Jack Woehr - Electronic Review of Computer Books
Regular readers of ERCB may recall my comments when reviewing Graphics Programming with JFC:
It's an editorial blemish not to have provided a minimal bibliography to steer novice readers from the paths of pop techdom towards the high road of computer science..."
Real-Time Rendering, by Tomas Moeller and Eric Haines, remedies that omission. If you're ready for the mathematics of 3D computer graphics, you're ready for Real-Time Rendering. The authors state their objective succinctly:
This book is about algorithms which create synthetic images fast enough that the viewer can interact with a virtual environment.
Real-Time Rendering is a real textbook. The text is medium-to-high scientific English. To read the book, you must possess some familiarity with matrix math, geometry, and trigonometry. Equations abound, as do citations.
The presentation is both professional and scholarly. Moeller and Haines weigh in with a great deal of practical experience and an equal proportion of theoretical familiarity. The treatment is never abstract. Specific graphics subsystems are named and differences between them noted in the discussion. Rendering, not mathematics, is the focus.
The headings of Real-Time Rendering's content-rich chapters are:
1. Introduction
2. The Graphics Rendering Pipeline
3. Transforms
4. Visual Appearance
5. Texturing
6. Special Effects
7. Speed-up Techniques
8. Pipeline Optimization
9. Polygonal Techniques
10. Intersection Test Methods
11. Collision Detection
12. Graphics Hardware
13. The Future
Appendix A. Some Linear Algebra
Appendix B. Trigonometry
Real-Time Rendering is about process, not production. Hardware involved in the graphics pipeline is presented at the conceptual level in Chapter 12, "Graphics Hardware" and most engagingly in 12.2.2 "Case Study: Neon." The metal itself is not mined. If it's blit rates and bus signals you crave, you want a book like AGP System Architecture.
Overall, the editing, design, layout, and printing of this hardbound volume are excellent. Care and attention have been lavished on equation presentation. In addition to copious meticulous geometric diagrams, there are a number of plates relevant to the discussion. One group of plates is color; the rest are gray scale. Several of the gray scales are, in my review copy, unfortunately printed a bit too dark for comfort, but this is a minor flaw compensated for chez nous by a nifty fluorescent ring work light with central magnifying lens.
I learned the basics of rendering by taking off my shoes and socks and counting toes, while working through early OS/2 Presentation Manager development kit documentation. It is gratifying that this sort of approach is not necessary for the modern computer-science student who has access to books like Real-Time Rendering and to some of the 392 reference works cited therein, bless the bibliography.
Booknews
Presents algorithms for use in three-dimensional computer-aided design, simulation, virtual reality worlds, and games. Focusing on the graphics pipeline, the book has chapters on transforms, optimization, visual appearance, polygon manipulation, collision detection, and special effects. Also included are texture algorithms, intersection methods, and speed-up techniques. The book concludes with a section on hardware, including case studies of various graphics systems. Annotation c. Book News, Inc., Portland, OR (booknews.com)
WHAT PEOPLE ARE SAYING
From the Author:
The field of computer graphics has become complex enough that a single book covering it all must, of necessity, be somewhat shallow. Introductory texts give a solid foundation, but ignore more complex topics. Application Programming Interface (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 syntax 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. We also present practical techniques, such as ways to identify bottlenecks and speed up code. This book is a distillation of our years of experience in the field.
Tomas Moeller