Register your product to gain access to bonus material or receive a coupon.
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.
FeaturesSoftware
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.
Electronic Instructor's Manual
ACM/SIGGRAPH Proceedings
Related Books
SoftwareSoftwareRequires 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.
SoftwareRequires 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.
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/eimThe EIM comprises four parts:
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.
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 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.
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.
Electronic Instructor's Manual
ACM/SIGGRAPH Proceedings
Related Books
SoftwareSoftwareRequires 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.
SoftwareRequires 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.
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/eimThe EIM comprises four parts:
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.
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 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.
(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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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:
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 capabilitiesA 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.7A 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.
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.
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