Reflecting the rapid expansion of the use of computer graphics and of C++ as a programming language of choice for implementation, this book converts all programming code into the C++ language. This new edition is a complete revision, bringing the text up to date with current advances in computer graphics technology and applications.Assuming readers have no prior familiarity with computer graphics, the authorsboth authorities in their fieldpresent basic principles for design, use, and understanding of computer graphics systems using their well-known, and accessible writing style. It includes an exploration of GL, PHIGS, PHIGS+, GKS and other graphics libraries and covers topics such as distributed ray tracing, radiosity, physically based modeling, particle systems, and visualization techniques.For professionals in any area of computer graphics: CAD, Animation, Software Design, etc.Previously announced in 12/2002 catalog.
Table of Contents
1. A Survey of Computer Graphics.
2. Overview of Graphics Systems.
3. Graphics Output Primitives.
4. Attributes of Graphics Primitives.
5. Geometric Transformations.
6. Two-Dimensional Viewing.
7. Three-Dimensional Viewing.
8. Three-Dimensional Object Representations.
9. Visible-Surface Detection Methods.
10. Illumination Models and Surface-Rendering Methods.
11. Interactive Input Methods and Graphical User Interfaces.
12. Color Models and Color Applications.
13. Computer Animation.
14. Hierarchical Modeling.
Computer graphics remains one of the most exciting and rapidly growing areas of modern technology. Since the appearance of the first edition of this book, computer graphics has become a standard feature in applications software and computer systems in general. Computer-graphics methods are routinely applied in the design of most products, in training simulators, in the production of music videos and television commercials, in motion pictures, in data analysis, in scientific studies, in medical procedures, and in numerous other applications. A great variety of techniques and hardware devices are now in use or under development for these diverse application areas. In particular, much of today's computer-graphics research is concerned with improving the effectiveness, realism, and speed of picture generation. To produce a realistic view of a natural scene, a graphics program must simulate the effects of actual light reflections and refractions from physical objects. Therefore, the current trend in computer graphics is to incorporate improved approximations of physics principles into graphics algorithms, to better simulate the complex interactions between objects and a lighting environment. Features of the Third EditionThe material in this third edition evolved from notes used in a variety of courses we have taught over the years, including introductory computer graphics, advanced computer graphics, scientific visualization, special topics, and project courses. When we wrote the first edition of this book, many graphics courses and applications dealt only with two-dimensional methods, so we separated the discussions of two-dimensional and three-dimensional graphics techniques. A solid foundation in two-dimensional computer-graphics procedures was given in the first half of the book, and three-dimensional methods were discussed in the second half. Now, however, three-dimensional graphics applications are commonplace, and many initial computer-graphics courses either deal primarily with three-dimensional methods or introduce three-dimensional graphics at an early stage. Therefore, a major feature of this third edition is the integration of three-dimensional and two-dimensional topics.We have also expanded the treatment of most topics to include discussions of recent developments and new applications. General subjects covered in this third edition include: current hardware and software components of graphics systems, fractal geometry, ray tracing, splines, illumination models, surface rendering, computer animation, virtual reality, parallel implementations for graphics algorithms, antialiasing, superquadrics, BSP trees, particle systems, physically based modeling, scientific visualization, radiosity, bump mapping, and morphing. Some of the major expansion areas are animation, object representations, the three-dimensional viewing pipeline, illumination models, surface-rendering techniques, and texture mapping.Another significant change in this third edition is the introduction of the OpenGL set of graphics routines, which is now widely used and available on most computer systems. The OpenGL package provides a large and efficient collection of device-independent functions for creating computer-graphics displays, using a program written in a general-purpose language such as C or C++. Auxiliary libraries are available in OpenGL for handling input and output operations, which require device interactions, and for additional graphics procedures such ' as generating cylinder shapes, spherical objects, and B-splines. Programming ExamplesMore than twenty complete C++ programs are provided in this third edition, using the library of graphics routines available in the popular OpenGL package. These programs illustrate applications of basic picture-construction techniques, two-dimensional and three-dimensional geometric transformations, two-dimensional and three-dimensional viewing methods, perspectiv