Home > Store

Introduction to Computer Graphics

Register your product to gain access to bonus material or receive a coupon.

Introduction to Computer Graphics

Book

  • This product currently is not for sale.
Not for Sale

Description

  • Copyright 1994
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-60921-5
  • ISBN-13: 978-0-201-60921-9

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.

Features
  • Adaptation of the definitive computer graphics book in the field--half the length.
  • Presents key concepts geared toward students with minimal technical background.
  • Provides worked examples in C.
  • Retains the high level of teaching standards of the parent graphics text.


0201609215B07092001

Downloads

Source Code

Software

The SRGP and SPHIGS graphics packages described in these books are archived in multiple formats, and are available free for your use. These formats allow you to run the packages on many PC, Macintosh, and UNIXAE platforms. The files are identical across platforms except for the method used in compressing/archiving. Specific directions for accessing each format appear below.

PLEASE NOTE THE SPECIFIC PLATFORMS REQUIRED FOR EACH FORMAT. THE SOFTWARE MAY NOT INSTALL OR RUN PROPERLY ON ANY OTHER PLATFORM-UNDER SOME OTHER C COMPILER, FOR EXAMPLE. WE REGRET THAT WE ARE UNABLE TO OFFER ANY USER SUPPORT IN SUCH CASES.

Select:    PC    Macintosh    UNIX

Electronic Instructor's Manual

ACM/SIGGRAPH Proceedings

Related Books

Software

PC - SRGP and SPHIGS

Requires any PC using an 80826 or higher microprocessor with a minimum of 1 megabyte of RAM (combined conventional and extended memory); Hercules monochrome adapter, or EGA color monitor or better; a hard-disk drive; Microsoft Mouse or compatible pointing device; Microsoft Windows v3.1, Windows95, or DOS v5.0 or later; Microsoft Software Development Kit for Windows; Borland's Turbo C v2.0 or later.

The PC files are contained in sphigs.exe and srgp.exe. They are archived with PKZIP 2.04G, then made self-extracting. You need no extra software to unarchive these files on your Windows or DOS machine. First be sure that you are in binary mode before transferring the files: Type "binary" at the "ftp>" prompt. Once transferred, use the syntax:

filename -d

The "filename" is the name of the file, minus the ".exe" extension. The "-d" preserves directory structure where directories have been created.

Instructors who adopt one of these books may obtain a free copy of the PC files on a diskette. Contact your Addison Wesley Longman sales representative for details.

Software

Macintosh - SRGP and SPHIGS

Requires any model Apple Macintosh with a minimum of 1 megabyte of RAM; 2 megabytes of RAM are required to run the debugger; System Software v7.0 or later; Metrowerks CodeWarrior v.10 or later.

The Macintosh files are contained in sphigs.sit.hqx and srgp.sit.hqx in stuffed binhex format (ASCII). These files may be extracted using StuffIt Expander, which is available either from Aladdin or via ftp from our pub/tools directory.

Instructors who adopt one of these books may obtain a free copy of the Macintosh files on a diskette. Contact your Addison Wesley Longman sales representative for details.

Software

UNIX - SRGP and SPHIGS

Requires a workstation running UNIX and the X Window System; X11 release R4 or later; an ANSII C Compiler (gcc is recommended); either v4.3 or v4.4 BSD, System V UNIX, or Solaris 2.0.

The UNIX files are contained in sphigs.tar.Z and srgp.tar.Z in UNIX tarred/compressed format (binary). To uncompress and detar under UNIX, use the following command sequence:

uncompress cfaq.tar tar -xvf filename.tar

You may also use GnuZip to uncompress the files.

Electronic Instructor's Manual

An Electronic Instructor's Manual (EIM), which supplements this book, is available by anonymous ftp, at:
ftp://ftp.aw.com/cseng/authors/foley/eim

The EIM comprises four parts:

  1. Expanded versions of the syllabi. The rationale for each syllabus is described on a step-by-step basis. Also, where appropriate, aids to teaching the material are suggested.

  2. Selected ANSI C source code from the book. Program fragments as well as complete working programs are provided. In general, an instructor must have SRGP and SPHIGS for this code to be useful.

  3. All the artwork from the book. With the exception of stripped-in half-tones, each figure is provided as either an Encapsulated Postscript (EPS) or Tagged Image File Format (TIFF) file. These figures will be useful for preparation of lecture slides. The artwork files are organized by chapter so that an instructor can obtain just the figures needed for a particular syllabus.

  4. Freely available software resources. In addition to the SRGP and SPHIGS graphics packages that supplement the text, there are many packages available that the instructor may wish to obtain for use in the course. Packages such as SIPP (Simple Polygon Processor) and Rayshade, a ray tracing program, implement many of the realistic rendering techniques described in the text. Information on how to obtain these and other packages is provided.

Extras

Web Resources

Software

The SRGP and SPHIGS graphics packages described in these books are archived in multiple formats, and are available free for your use. These formats allow you to run the packages on many PC, Macintosh, and UNIXAE platforms. The files are identical across platforms except for the method used in compressing/archiving. Specific directions for accessing each format appear below.

PLEASE NOTE THE SPECIFIC PLATFORMS REQUIRED FOR EACH FORMAT. THE SOFTWARE MAY NOT INSTALL OR RUN PROPERLY ON ANY OTHER PLATFORM-UNDER SOME OTHER C COMPILER, FOR EXAMPLE. WE REGRET THAT WE ARE UNABLE TO OFFER ANY USER SUPPORT IN SUCH CASES.

Select:    PC    Macintosh    UNIX

Electronic Instructor's Manual

ACM/SIGGRAPH Proceedings

Related Books

Software

PC - SRGP and SPHIGS

Requires any PC using an 80826 or higher microprocessor with a minimum of 1 megabyte of RAM (combined conventional and extended memory); Hercules monochrome adapter, or EGA color monitor or better; a hard-disk drive; Microsoft Mouse or compatible pointing device; Microsoft Windows v3.1, Windows95, or DOS v5.0 or later; Microsoft Software Development Kit for Windows; Borland's Turbo C v2.0 or later.

The PC files are contained in sphigs.exe and srgp.exe. They are archived with PKZIP 2.04G, then made self-extracting. You need no extra software to unarchive these files on your Windows or DOS machine. First be sure that you are in binary mode before transferring the files: Type "binary" at the "ftp>" prompt. Once transferred, use the syntax:

filename -d

The "filename" is the name of the file, minus the ".exe" extension. The "-d" preserves directory structure where directories have been created.

Instructors who adopt one of these books may obtain a free copy of the PC files on a diskette. Contact your Addison Wesley Longman sales representative for details.

Software

Macintosh - SRGP and SPHIGS

Requires any model Apple Macintosh with a minimum of 1 megabyte of RAM; 2 megabytes of RAM are required to run the debugger; System Software v7.0 or later; Metrowerks CodeWarrior v.10 or later.

The Macintosh files are contained in sphigs.sit.hqx and srgp.sit.hqx in stuffed binhex format (ASCII). These files may be extracted using StuffIt Expander, which is available either from Aladdin or via ftp from our pub/tools directory.

Instructors who adopt one of these books may obtain a free copy of the Macintosh files on a diskette. Contact your Addison Wesley Longman sales representative for details.

Software

UNIX - SRGP and SPHIGS

Requires a workstation running UNIX and the X Window System; X11 release R4 or later; an ANSII C Compiler (gcc is recommended); either v4.3 or v4.4 BSD, System V UNIX, or Solaris 2.0.

The UNIX files are contained in sphigs.tar.Z and srgp.tar.Z in UNIX tarred/compressed format (binary). To uncompress and detar under UNIX, use the following command sequence:

uncompress cfaq.tar tar -xvf filename.tar

You may also use GnuZip to uncompress the files.

Electronic Instructor's Manual

An Electronic Instructor's Manual (EIM), which supplements this book, is available by anonymous ftp, at:
ftp://ftp.aw.com/cseng/authors/foley/eim

The EIM comprises four parts:

  1. Expanded versions of the syllabi. The rationale for each syllabus is described on a step-by-step basis. Also, where appropriate, aids to teaching the material are suggested.

  2. Selected ANSI C source code from the book. Program fragments as well as complete working programs are provided. In general, an instructor must have SRGP and SPHIGS for this code to be useful.

  3. All the artwork from the book. With the exception of stripped-in half-tones, each figure is provided as either an Encapsulated Postscript (EPS) or Tagged Image File Format (TIFF) file. These figures will be useful for preparation of lecture slides. The artwork files are organized by chapter so that an instructor can obtain just the figures needed for a particular syllabus.

  4. Freely available software resources. In addition to the SRGP and SPHIGS graphics packages that supplement the text, there are many packages available that the instructor may wish to obtain for use in the course. Packages such as SIPP (Simple Polygon Processor) and Rayshade, a ray tracing program, implement many of the realistic rendering techniques described in the text. Information on how to obtain these and other packages is provided.

Sample Content

Table of Contents

(All chapters, except Chapters 5 and 6 contain a Summary, and all chapters conclude with Exercises.)

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.



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.



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.



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.



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.



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



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.



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.



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.

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.



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.



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.



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.



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.



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.



Bibliography.


Index. 0201609215T04062001

Preface

This book is an adaptation of Computer Graphics: Principles and Practice, Second Edition (CGPP), by Foley, van Dam, Feiner, and Hughes. Introduction to Computer Graphics was created by abridging and modifying that comprehensive teaching and reference work to suit the needs of different courses and different professional requirements. While this book is half the size of its parent, it is not merely a shorter version of it. Indeed, it features new material and, in some cases, a different approach to exposition, all added with the needs of its intended audience in mind.

This book is designed to be used in a one-to two-semester course in computer graphics in any four-year college or university and, assuming only a small amount of mathematical preparation, for a one-semester course in community colleges or other two-year institutions. Introduction to Computer Graphics is also an ideal book for the professional who wants to learn the rudiments of this dynamic and exciting field, whether to become a practitioner or simply to gain an appreciation of the far-ranging applications of computer graphics.

This book is not meant to supplant CGPP as being more current or in any way more comprehensive. These are chapters, however, where, because of the dizzying pace at which the field is moving, older material was dropped and the hardware performance and cost figures were updated. One such example can be found in Chapter 4, where the statement from CGPP--which, bear in mind, was just published in 1990--that "...a graphics workstation typically consists of a CPU capable of executing at least several million instructions per second (MIPS) ..." was updated to reflect the fact that 20-100 MIPS are now commonplace.

Other major differences and strengths of Introduction to Computer Graphics are:

  • The computer language used throughout the book, both in pseudocoded program fragments and complete working programs, is modern ANSI C. The use of C, rather than Pascal as in CGPP, is consistent with both current teaching and professional practice, especially in graphics.
  • As a direct benefit of the use of C in the book, there is now a one-to- one correspondence between the data types and functions of the code used in this book with those of the SRGP and SPHIGS software packages that are available (free of charge to adopters) to accompany the book (see page 559).
  • The SPHIGS package mentioned above has been substantially enhanced with many new features, such as multiple light sources, improved rendering, and improved pick correlation for better interactive manipulation.
  • The book features several worked-out examples, some of which are quite extensive. These examples are strategically located in chapters where they best enhance the exposition of difficult concepts. One such example is a complete working program for interactively defining Bezier parametric cubic curves.
  • The importance of computer graphics to the emerging field of multimedia is introduced by describing some examples, complete with figures, and providing their supporting references.
  • A mathematical preliminaries section has been added to the chapter on Geometrical Transformations. This section provides sufficient information for the reader to understand and use all subsequent mathematically oriented material in the book.
  • Potential Syllabi

    There are several paths that a reader can take through this book. A few are suggested here, but it is entirely feasible to select one suiting the reader's circumstances. Even the order of study acan be permuted. For example, the material on hardware could come either earlier or later in a syllabus than is suggested by Chapter 4's ordinal positioning.

    A minimal one-semester course emphasizing 2D graphics. Where the goal is to provide a good, but not rigorous, overview of elements of mostly 2D graphics, this course of study will be appropriate for students in a two- or four-year college or university.

     Chapter       Sections     1           All    2           Sect. 2.1-2.2    3           Sect. 3.1-3.3, 3.9-3.9.3    4           Sect. 4 4.1, 4.2, 4.3, and 4.5    5           Sect. 5.1 (as appropriate), 5.2, 5.3,5.4    6           Sect. 6.1, 6.2,6.3,6.4.1,6.4.2    8           All    9           Sect. 9.1, 9.2.1-9.2.3   11           Sect. 11.1-11.2   12           Selected reading to demonstrate advanced                 capabilities 
    A one-semester course providing an overview of 2D and 3D graphics. This syllabus will provide a strong foundation in graphics for readers who are mathematically well prepared.
     Chapter        Sections     1           All    2           All    3           Sects. 3.1-3.5, 3.8-3.11, 3.14-3.15    4           Sect. 4.1, 4.2, 4.3 and 4.5    5           Sect. 5.1 (as appropriate),5.2-5.5,5.7,5.8    6           Sect. 6.1-6.5, Sect. 6.6 (except 6.6.4),6.7    7           Sect. 7.1-7.5,7.10 and 7.11.6    8           All    9           Sect. 9.1,9.2.1-9.2.3,9.2.7,9.3.1-9.3.2   11           All   12           All   13           Sect. 13.1-13.2, possibly 13.4   14           Sect. 14.1-14.2, possibly 14.5-14.7 

    A two-semester course covering 2D and 3D graphics, modeling and rendering. All chapters (posibly omitting selected topics from Chapters 9 and 10) plus selected topics from CGPP.

    Since many readers of Introduction to Computer Graphics will be interested in consulting its more advanced and comprehensive parent, the preface to CGPP follows this one. Please find the this title included on the gopher site. There the reader will find a discussion of CGPP's important features and suggestions for structuring courses based on that book.

    Electronic Instructor's Manual

    An Electronic Instructor's Manual (EIM), which supplements this book, is available from Brown University. Information on how to obtain the EIM is acquired by sending e-mail to eim@cs.brown.edu. No message body is necessary; just enter EIM (or eim) on the Subject line. The e-mail reply will contain a description of the contents of the EIM and how to obtain any part of it. It is necessary to have Internet ftp access to retrieve the EIM. No other distribution method is available. The EIM comprises four parts. They are:

    • Expanded versions of the syllabi suggested above. The rationale for each syllabus is described on a step-by-step basis. Also, where appropriate, aids to teaching the material are suggested.
    • Selected ANSI C source code from the book. Program fragments as well as complete working programs are provided. In general, an instructor must have SRGP and SPHIGS for this code to be useful.
    • All the artwork from the book. With the exception of stripped-in half- tones, each figure is provided as either an Encapsulated Postscript (EPS) or Tagged Image File Format (TIFF) file. These figures will be useful for preparation of lecture slides. The artwork files are organized by chapter so that an instructor can obtain just the figures needed for a particular syllabus.
    • Freely available software resources. In addition to the SRGP and SPHIGS packages which supplement the text, there are many packages available that the instructor may wish to obtain for use in the course. Packages such as SIPP (Simple Polygon Processor) and Rayshade, a ray tracing program, implement many of the realistic rendering techniques described in the text. Information on how to obtain these and other packages is provided.

    Acknowledgments

    First, it should be stated that while all the a uthors of CGPP participated to some degree in the preparation of this book, I assume full responsibility for any new errors introduced in the adaptation process.

    David Sklar was a guest author for CGPP, and much of the material he contributed to that book remains here in Chapters 2 and 7. He was helpful to me in locating electronic versions of computer code and artwork from the original book.

    Peter Gordon, my editor, always had timely, wise, and calming advice throughout the duration of this project. Jim Rigney, my production supervisor, spent lots of helpful hours teaching me the "tricks of the trade".

    Many people helped with various aspects of the book. Among them are Yvonne Martinez, Chuck Hansen, Tom Rokicki, David Cortesi, Janick (J.) Bergeron, Henry McGilton, Greg Cockroft, Mike Hawley, Ed Catmull, Loren Carpenter, Harold Borkin, Alan Paeth, Jim White, and Bert Herzog.

    A special thank you is owed to Ed Angel of The University of New Mexico and his courageous students for beta--make that alpha--testing of a first draft of the book in the fall of 1992.

    Finally, without D.C. this would never have happened.

    Santa Fe, N.M.
    --R.L.P.



    0201609215P04062001

    Updates

    Submit Errata

    More Information

    InformIT Promotional Mailings & Special Offers

    I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

    Overview


    Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

    This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

    Collection and Use of Information


    To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

    Questions and Inquiries

    For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

    Online Store

    For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

    Surveys

    Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

    Contests and Drawings

    Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

    Newsletters

    If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

    Service Announcements

    On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

    Customer Service

    We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

    Other Collection and Use of Information


    Application and System Logs

    Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

    Web Analytics

    Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

    Cookies and Related Technologies

    This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

    Do Not Track

    This site currently does not respond to Do Not Track signals.

    Security


    Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

    Children


    This site is not directed to children under the age of 13.

    Marketing


    Pearson may send or direct marketing communications to users, provided that

    • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
    • Such marketing is consistent with applicable law and Pearson's legal obligations.
    • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
    • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

    Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

    Correcting/Updating Personal Information


    If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

    Choice/Opt-out


    Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

    Sale of Personal Information


    Pearson does not rent or sell personal information in exchange for any payment of money.

    While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

    Supplemental Privacy Statement for California Residents


    California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

    Sharing and Disclosure


    Pearson may disclose personal information, as follows:

    • As required by law.
    • With the consent of the individual (or their parent, if the individual is a minor)
    • In response to a subpoena, court order or legal process, to the extent permitted or required by law
    • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
    • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
    • To investigate or address actual or suspected fraud or other illegal activities
    • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
    • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
    • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

    Links


    This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

    Requests and Contact


    Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

    Changes to this Privacy Notice


    We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

    Last Update: November 17, 2020