Publisher : Addison-Wesley Publishing Co. - Reading, Mass.
This new introductory text to computer graphics is an adaptation of Computer Graphics: Principles and Practice, Second Edition, which remains the most comprehensive and authoritative work in the field. While retaining the currency and accuracy of the larger book, this abbreviated version focuses on topics essential for all beginners in computer graphics and provides expanded explanations for readers with little or no technical background. Worked examples have been added to illustrate important concepts and techniques, and program code has been written in the C language to enhance the book's usefulness. In addition, the book contains an extensive illustration program, with more than 50 full-color images.
Topic coverage includes basic graphics programming, hardware, and applications. Important algorithms are included to facilitate implementation of both 2D and 3D graphics. A separate chapter covers SPHIGS--a simplified dialect of the PHIGS 3D standard--and coincides with the availability of an updated version of the software. Chapter 9 and presents a concise overview of interaction issues and techniques. Advanced material from the larger book has been condensed, and the mathematics needed for it has been explained carefully.
The result is an accessible introduction to computer graphics, crafted to provide a solid foundation for further work in this exciting field.
1. Introducing: Computer Graphics. A Few Uses of Computer Graphics * A Brief History of Computer Graphics * Output Technology * Input Technology * Software Portability * The Advantages of Interactive Graphics * Conceptual Framework for Interactive Graphics * Application Modeling * Display of the Model * Interaction Handling * Summary * Exercises
2. Programming in the Simple Raster Graphics Package (SRGP). Drawing with SRGP * Specification of Graphics Primitives * Attributes * Filled Primitives and Their Attributes * Saving and Restoring Attributes * Text * Basic Interaction Handling * Human Factors * Logical Input Devices * Sampling Versus Event-Driven Processing * Sample Mode * Event Mode * Pick Correlation for Interaction Handling * Setting Device Measure and Attributes * Raster Graphics Features * Canvases * Clipping Rectangles * The SRGP_copyPixel Operation * Write Mode or RasterOp * Limitation of SRGP * Application Coordinate Systems * Storage of Primitives for Respecification * Summary * Exercises
3. Basic Raster Graphics Algorithms for Drawing 2D Primitives. Overview * Implications of Display-System Architectures * The Output Pipeline in Software * Scan Converting Lines * The Basic Incremental Algorithm * Midpoint Line Algorithm * Additional Issues * Scan Converting Circles * Eight-Way Symmetry * Midpoint Circle Algorithm * Filling Rectangles * Filling Polygons * Horizontal Edges * Slivers * Edge Coherence and the Scan-Line Algorithm * Pattern Filling Using Scan Conversion * Pattern Filling Without Repeated Scan Conversion * Thick Primitives * Replicating Pixels * The Moving Pen * Clipping in a Raster World * Clipping Lines * Clipping Endpoints * Clipping Lines by Solving Simultaneous Equations * The Cohen-Sutherland Line-Clipping Algorithm * A Parametric Line-Clipping Algorithm * Clipping Circles * Clipping Circles * The Sutherland-Hodgman Polygon-Clipping Algorithm * Generating Characters * Defining and Clipping Characters * Implementing a Text Output Primitive * SRGP_copyPixel * Antialiasing * Increasing Resolution * Unweighted Area Sampling * Weighted Area Sampling * Advanced Topics * Summary * Exercises
4. Graphics Hardware. Hardcopy Technologies * Display Technologies * Raster-scan Display Systems * Simple Raster Display System * Raster Display System with Peripheral Display Processor * Additional Display-Processor Functionality * Raster Display System with Integrated Display Processor * The Video Controller * Bitmap Transformations and Windowing * Video Mixing * Input Devices for Operator Interaction * Locator Devices * Keyboard Devices * Valuator Devices * Choice Devices * Image Scanners * Summary * Exercises
5. Geometrical Transformations. Mathematical Preliminaries * Vector Spaces * The Dot Product in R * Properties of the Dot Product * Orthonormal Bases * Matrices * Matrix Multiplication * Determinants * Matrix Transpose * Matrix Inverse * Exploring Further * 2D Transformation * Homogeneous Coordinates and Matrix Representation of 2D Transformations * Composition of 2D Transformations * The Window-to-Viewport Transformation * Efficiency * Matrix Representation of 3D Transformations * Composition of 3D Transformations * Transformations as a Change in Coordinate System * Exercises
6. Viewing in 3D. The Synthetic Camera and Steps * Projections * Perspective Projections * Parallel Projections * Specifying an Arbitrary 3D View * Examples of 3D Viewing * Perspective Projections * Parallel Projections * Finite View Volumes * The Mathematics of Planar Geometric Projections * Implementing Planar Geometric Projections * Parallel Projection * Perspective Projection * Clipping Against a Canonical View Volume in 3D * Clipping in Homogeneous Coordinates * Mapping into a Viewpoint * Implementation Summary * Coordinate Systems * Exercises
7. Object Hierarchy and Simple PHIGS (SPHIGS). Geometric Modeling * Geometric Models * Hierarchy in Geometric Models * Relationship among Model, Application Program, and Graphics System * Characteristics of Retained-Mode Graphics Packages * Central Structure Storage and Its Advantages * Limitations of Retained-Mode Packages * Defining and Displaying * Opening and Closing Structures * Specifying Output Primitives and Their Attributes * Posting Structures for Display Traversal * Viewing * Graphics Applications Sharing a Screen via Window Management * Modeling Transformations * Hierarchical Structure Networks * Two-Level Hierarchy * Simple Three-Level Hierarchy * Bottom-Up Construction * Interactive Modeling Programs * Matrix Composition in Display Traversal * Appearance-Attributes Handling in Hierarchy * Inheritance Rules * SPHIGS Attributes and Text Unaffected by Transformations * Screen Updating and Rendering Modes * Structure Network Editing for Dynamic Effects * Accessing Elements with Indices and Labels * Intrastructure Editing Operations * Instance Blocks for Editing Convenience * Controlling Automatic Regeneration of the Screen Imaging * Interaction * Locator * Pick Correlation * Advanced Issues * Additional Output Features * Implementation Issues * Optimizing Display of Hierarchical Models * Limitations of Hierarchical Modeling in PHIGS * Alternative Forms of Hierarchical Modeling * Other (Industry) Standards * Summary * Exercises
8. Input Devices, Interaction Techniques, and Interaction Tasks. Interaction Hardware * Locator Devices * Keyboard Devices * Valuator Devices * Choice Devices * Other Devices * 3D Interaction Devices * Basic Interaction Tasks * The Position Interaction Task * The Select Interaction Task-Variable-Sized Set of Choices * The Select Interaction Task-Relativity Fixed-Sized Choice * The Text Interaction Task * The Quantify Interaction Task * 3D Interaction Tasks * Composite Interaction Tasks * Dialogue Boxes * Construction Techniques * Dynamic Manipulation * Interaction-Technique Toolkits * Summary * Exercises
9. Representation of Curves and Surfaces. Polygon Meshes * Representing Polygon Meshes * Plane Equations * Parametric Cubic Curves * Basic Characteristics * Hermite Curves * Bezier Curves * Uniforum Nonrational B-Splines * Nonuniforum, Rational Cubic Polynomial Curve Segments * Fitting Curves to Digitized Points * Comparison of the Cubic Curves * Parametric Bicubic Surfaces * Hermite Surfaces * Bezier Surfaces * B-Spline Surfaces * Normals to Surfaces * Displaying Bicubic Surfaces * Quaddric Surfaces * Specialized Modeling Techniques * Fractal Models * Grammar-Based Models * Summary * Exercises
10. Solid Modeling. Representing Solids * Regularized Boolean Set Operation * Primitive Instancing * Sweep Representations * Boundary Representations * Polyhedra and EulerŐs Formula * Boolean Set Operations * Spatial-Partioning Representations * Cell Decomposition * Spatial-Occupancy Enumeration * Octrees Binary Space-Partitioning Tress * Constructive Solid Geometry * Comparison of Representations * User Interface for Solid Modeling * Summary * Exercises
11. Achromatic and Colored Light. Acromatic Light * Selection of Intesities * Halftone Approximation * Chromatic Color * Psychophysics * The CIE Chromaticity Diagram * Color Models for Raster Graphics * The RGB Color Model * The CMY Color Model * The YIG Color Model * The HSV Color Model * Interactive Specification of Color * Interpolation in Color Space * Use of Color in Computer Graphics * Summary * Exercises
12. The Quest for Visual Realism. Why Realism? * Fundamental Difficulties * Rendering Techniques for Line Drawings * Multiple Orthographic Views * Perspective Projections * Depth Cueing * Depth Clipping * Texture * Color * Visible-Line Determination * Rendering Techniques for Shaded Images * Visible-Surface Determination * Illumination and Shading * Interpolated Shading * Material Properties * Modeling Curved Surfaces * Improved Illumination and Shading * Texture * Shadows * Transparency and Reflection * Improved Camera Models * Improved Object Models * Dynamics and Animation * The Value of Motion * Animation * Stereopsis * Improved Displays * Interacting With Our Other Senses * Summary * Exercises
13. Visible-Surface Determination. Techniques for Efficient Visible-Surface Algorithms * Coherence * The Perspective Transformation * Extents and Bounding Volumes * Back-Face Culling * Spatial Partitioning * Hierarchy * The z-Buffer Algorithm * Scan-Line Algorithms * Visible-Surface Ray Tracing * Computing Intersections * Efficiency Considerations for Visible-Surface Ray Tracing * Other Approaches * List Priority Algorithms * Area-Subdivision Algorithms * Algorithms for Curved Surfaces * Summary * Exercises
14. Illumination and Shading. Illumination Models * Ambient Light * Diffuse Reflection * Atmospheric Attenuation * Specular Reflection * Improving the Point-Light-Source Model * Multiple Light Sources * Physically Based Illumination Models * Shading Models for Polygons * Constant Shading * Interpolated Shading * Polygon Mesh Shading * Gouraud Shading * Phong Shading * Problems with Interpolated Shading * Surface Detail * Surface-Detail Polygons * Texture Mapping * Bump Mapping * Other Approaches * Shadows * Scan-Line Generation of Shadows * Shadow Volumes * Transparency * Nonrefractive Transparency * Refractive Transparency * Global Illumination Algorithms * Recursive Ray Tracing * Recursive Ray Tracing * Radiosity Methods * The Radiosity Equation * Computing Form Factors * Progressive Refinement * The Rendering Pipeline * Local Illumination Pipelines * Global Illumination Pipelines * Progressive Refinement * Summary * Exercises
Includes bibliographical references (p. 527-543) and index.
SUPPLEMENTS to the book are available at publishers site. See http://heg-school.aw.com/cseng/authors/foley/compgrafix/compgrafix.sup.html.