Interactive Computer Graphics: A Top-Down Approach Using OpenGL, 5/E
Edward Angel, University of New Mexico

ISBN-10: 0321535863
ISBN-13: 9780321535863

Publisher: Addison-Wesley
Copyright: 2009
Format: Cloth; 864 pp
Published: 03/24/2008

Suggested retail price: $119.40
Buy from myPearsonStore

Computer animation and graphics—once rare, complicated, and comparatively expensive—are now prevalent in everyday life from the computer screen to the movie screen. Interactive Computer Graphics is the only introduction to computer graphics text for undergraduates that fully integrates OpenGL® and emphasizes application-based programming. Using C and C++, the top-down, programming-oriented approach allows for coverage of engaging 3D material early in the course so students immediately begin to create their own 3D graphics. Low-level algorithms (for topics such as line drawing and filling polygons) are presented after students learn to create graphics.

This book is suitable for undergraduate students in computer science and engineering, for students in other disciplines who have good programming skills, and for professionals.

  • A top-down, programming-oriented approach allows for coverage of engaging 3D material early in the course so students immediately begin to create their own graphics.
  • Low-level algorithms (for topics such as line drawing and filling polygons) are presented after students learn to create graphics.
  • Both C and C++ are used, with C as the dominant language to effectively introduce students to computer graphics without using object-oriented programming.
  • OpenGL: A Primer, Third Edition, by Edward Angel is available for those who want more detail on OpenGL®.

  • Recent advances in texture techniques such as multi-texturing are added to Chapter 8. Examples of image processing are also added.
  • Chapter 10 in the Fourth Edition, Modeling, is split into two chapters. The first, Chapter 10, Modeling and Procedural Methods, covers modeling and procedural methods. The procedural sections are expanded to include procedural noise.
  • The second, Chapter 11, Scene Graphs and Real Time, focuses on scene graphs and real time, emphasizing games and including material on culling and level of detail.
  • Chapter 12, Advanced Rendering, now emphasizes image generation with the addition of ray tracing.
  • All demo programs are revised.

Chapter 1 Graphics Systems and Models
1.1 Applications of Computer Graphics
1.2 A Graphics System
1.3 Images: Physical and Synthetic
1.4 Imaging Systems
1.5 The Synthetic-Camera Model
1.6 The Programmer’s Interface
1.7 Graphics Architectures
1.8 Programmable Pipelines
1.9 Performance Characteristics
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 2 Graphics Programming
2.1 The Sierpinski Gasket
2.2 Programming Two-Dimensional Applications
2.3 The OpenGL API
2.4 Primitives and Attributes
2.5 Color
2.6 Viewing
2.7 Control Functions
2.8 The Gasket Program
2.9 Polygons and Recursion
2.10 The Three-Dimensional Gasket
2.11 Plotting Implicit Functions
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 3 Input and Interaction
3.1 Interaction
3.2 Input Devices
3.3 Clients and Servers
3.4 Display Lists
3.5 Programming Event-Driven Input
3.6 Menus
3.7 Picking
3.8 A Simple Paint Program
3.9 Building Interactive Models
3.10 Animating Interactive Programs
3.11 Design of Interactive Programs
3.12 Logic Operations
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 4 Geometric Objects and Transformations
4.1 Scalars, Points, and Vectors
4.2 Three-Dimensional Primitives
4.3 Coordinate Systems and Frames
4.4 Frames in OpenGL
4.5 Modeling a Colored Cube
4.6 Affine Transformations
4.7 Translation, Rotation, and Scaling
4.8 Transformations in Homogeneous Coordinates
4.9 Concatenation of Transformations
4.10 OpenGL Transformation Matrices
4.11 Interfaces to Three-Dimensional Applications
4.12 Quaternions
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 5 Viewing
5.1 Classical and Computer Viewing
5.2 Viewing with a Computer
5.3 Positioning of the Camera
5.4 Simple Projections
5.5 Projections in OpenGL
5.6 Hidden-Surface Removal
5.7 Interactive Mesh Displays
5.8 Parallel-Projection Matrices
5.9 Perspective-Projection Matrices
5.10 Projections and Shadows
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 6 Shading
6.1 Light and Matter
6.2 Light Sources
6.3 The Phong Reflection Model
6.4 Computation of Vectors
6.5 Polygonal Shading
6.6 Approximation of a Sphere by Recursive Subdivision
6.7 Light Sources in OpenGL
6.8 Specification of Materials in OpenGL
6.9 Shading of the Sphere Model
6.10 Global Illumination
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 7 From Vertices to Fragments
7.1 Basic Implementation Strategies
7.2 Four Major Tasks
7.3 Clipping
7.4 Line-Segment Clipping
7.5 Polygon Clipping
7.6 Clipping of Other Primitives
7.7 Clipping in Three Dimensions
7.8 Rasterization
7.9 Bresenham’s Algorithm
7.10 Polygon Rasterization
7.11 Hidden-Surface Removal
7.12 Antialiasing
7.13 Display Considerations
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 8 Discrete Techniques
8.1 Buffers
8.2 Digital Images
8.3 Writing into Buffers
8.4 Bit and Pixel Operations in OpenGL
8.5 Examples
8.6 Mapping Methods
8.7 Texture Mapping
8.8 Texture Mapping in OpenGL
8.9 Texture Generation
8.10 Environment Maps
8.11 Compositing Techniques
8.12 Multirendering and the Accumulation Buffer
8.13 Sampling and Aliasing
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 9 Programmable Shaders
9.1 Programmable Pipelines
9.2 Shading Languages
9.3 Extending OpenGL
9.4 The OpenGL Shading Language
9.5 The OpenGL Shading Language
9.6 Linking Shaders with OpenGL Programs
9.7 Moving Vertices
9.8 Lighting with Shaders
9.9 Fragment Shaders
9.10 Per-Vertex Versus Per-Fragment Phong Shading
9.11 Samplers
9.12 Cube Maps
9.13 Bump Mapping
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 10 Modeling and Procedural Methods

Chapter 11 Scene Graphs and Real Time

 
Chapter 12 Curves and Surfaces
11.1 Representation of Curves and Surfaces
11.2 Design Criteria
11.3 Parametric Cubic Polynomial Curves
11.4 Interpolation
11.5 Hermite Curves and Surfaces
11.6 B´ezier Curves and Surfaces
11.7 Cubic B-Splines
11.8 General B-Splines
11.9 Rendering of Curves and Surfaces
11.10 The Utah Teapot
11.11 Algebraic Surfaces
11.12 Curves and Surfaces in OpenGL 615
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Chapter 13 Advanced Rendering
12.1 Going Beyond Pipeline Rendering
12.2 Ray Tracing
12.3 Building a Simple Ray Tracer
12.4 The Rendering Equation
12.5 Radiosity
12.6 RenderMan
12.7 Large-Scale Rendering
12.8 Image-Based Rendering
SUMMARY AND NOTES
SUGGESTED READINGS
EXERCISES
 
Appendix A Sample Programs
A.1 Sierpinski Gasket Program
A.2 Recursive Generation of Sierpinski Gasket
A.3 Recursive Three-Dimensional Sierpinski Gasket
A.4 Marching Squares
A.5 Square Drawing Program
A.6 Paint Program
A.7 Double-Buffering Example
A.8 Selection-Mode Picking Program
A.9 Rotating-Cube Program
A.10 Rotating Cube Using Vertex Arrays
A.11 Rotating Cube with a Virtual Trackball
A.12 Moving Viewer
A.13 Sphere Program
A.14 Mandelbrot Set Program
A.15 Bresenham’s Algorithm
A.16 Rotating Cube with Texture
A.17 GLSL Example
A.18 Scene-Graph Example
A.19 Program for Drawing B´ezier Curves
 
Appendix B Spaces
B.1 Scalars
B.2 Vector Spaces
B.3 Affine Spaces
B.4 Euclidean Spaces
B.5 Projections
B.6 Gram-Schmidt Orthogonalization
SUGGESTED READINGS
EXERCISES
 
Appendix C Matrices
C.1 Definitions
C.2 Matrix Operations
C.3 Row and Column Matrices
C.4 Rank
C.5 Change of Representation
C.6 The Cross Product
C.7 Eigenvalues and Eigenvectors
SUGGESTED READINGS
EXERCISES
 
Appendix D Synopsis of OpenGL Functions
D.1 Specifying Simple Geometry
D.2 Attributes
D.3 Working with the Window System
D.4 Interaction
D.5 Enabling Features
D.6 Transformations
D.7 Viewing
D.8 Defining Discrete Primitives
D.9 Display Lists
D.10 Picking
D.11 Lighting
D.12 Texture Mapping
D.13 State and Buffer Manipulation
D.14 Vertex Arrays
D.15 Blending Functions
D.16 Query Functions
D.17 Curve and Surface Functions
D.18 GLU Quadrics
D.19 GLSL Functions
 
References
Function Index
Subject Index 

  • 0321321375Interactive Computer Graphics: A Top-Down Approach Using OpenGL, 4/E
    Angel
    © 2006 | Addison-Wesley | Cloth; 816 pages | Instock
    ISBN-10: 0321321375 | ISBN-13: 9780321321374
    Brief Description

Edward Angel is a professor of computer science, electrical and computer engineering, and media arts at the University of New Mexico. He holds a PhD from the University of Southern California and a BS in engineering from the California Institute of Technology. He is also the director of Art, Research, Technology, and Science Laboratory (ARTS Lab) and the Arts Technology Center at the University of New Mexico. He is the author of Interactive Computer Graphics and OpenGL: A Primer.

FIFTH EDITION

Interactive Computer Graphics: A Top-Down Approach Using OpenGL®

Edward Angel, University of New Mexico

 

This book introduces students to the core concepts of computer graphics with full integration of OpenGL and an emphasis on application-based programming. using C and C++, the top-down, programming-oriented approach allows students to quickly begin creating their own 3D graphics. Low-level algorithms, such as those for line drawing and filling polygons, are presented after students learn to create interactive graphics programs.

 

This book covers all the topics in a fundamental course, including lighe-material interactions, shading, modeling, curves and surfaces, antialiasing, rasterization, texture mapping, and compositing.

 

KEY FEATURES

  • NEW! Up-to-date coverage on the newest texturing techniques, such as multi-texturing and bump mapping.
  • NEW! Expanded coverage of modeling and procedural methods, including procedural noise.
  • NEW! Expanded coverage of scene graphs and real time.
  • NEW! Expanded coverage of programmable shaders.
  • Revised treatment of demo programs.

Edward Angel is Professor Emeritus of Computer Science, Electrical and Computer Engineering, and Media Arts at the University of New Mexico where he was the first Presidential Teaching Fellow. He holds a PhD from the University of Southern California and a BS in Engineering from the California Institute of Technolgy. He is also the director of Art, Research, Technology, and Science Laboratory (http://artslab.unm.edu) at the University of New Mexico.

View a Sample Chapter PDF:

Give your students a choice! PearsonChoices products are designed to give your students more value and flexibility by letting them choose from a variety of text and media formats to best match their learning style and their budget.

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, see the Packages tab.

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.



Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions