did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201773439

Interactive Computer Graphics : A Top-down Approach Using OpenGL

by
  • ISBN13:

    9780201773439

  • ISBN10:

    0201773430

  • Edition: 3rd
  • Format: Hardcover w/CD
  • Copyright: 2003-01-01
  • Publisher: Addison Wesley
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $110.60

Summary

Interactive Computer Graphics features a top-down, programming-oriented approach to computer graphics. Capitalizing upon this top-down and hands-on approach, the text quickly gets students writing interesting 3D graphics programs. Angel uses OpenGL, a graphics library supported by most workstations, and the C++ programming language, allowing students to be aware of what is happening at the lowest levels of computer-graphics programming. Each chapter is built around applications, with key principles and techniques explained as needed and in increasing detail, teaching students by example and by practice. While emphasizing applications programming, the book covers all topics required for a fundamental courses in computer graphics, such as light-material interactions, shading, modeling, curves and surfaces, antialiasing, texture mapping, and compositing, as well as hardware issues. The top-down approach taken in this book enables students studying computer science and engineering to generate complex interactive applications by the end of their first course, and will give them a solid background for future work or study in computer graphics.

Table of Contents

Graphics Systems and Models
Applications of Computer Graphics
A Graphics System
Images: Physical and Synthetic
Imaging Systems
The Synthetic-Camera Model
The Programmer's Interface
Graphics Architectures
Programmable Pipelines
Performance Characteristics
Summary and Notes
Suggested Readings
Exercises
Graphics Programming
The Sierpinski Gasket
Programming Two-Dimensional Applications
The OpenGL API
Primitives and Attributes
Color
Viewing
Control Functions
The Gasket Program
Polygons and Recursion
The Three-Dimensional Gasket
Plotting Implicit Functions
Summary and Notes
Suggested Readings
Exercises
Input and Interaction
Interaction
Input Devices
Clients and Servers
Display Lists
Programming Event-Driven Input
Menus
Picking
A Simple Paint Program
Building Interactive Models
Animating Interactive Programs
Design of Interactive Programs
Logic Operations
Summary and Notes
Suggested Readings
Exercises
Geometric Objects and Transformations
Scalars, Points, and Vectors
Three-Dimensional Primitives
Coordinate Systems and Frames
Frames in OpenGL
Modeling a Colored Cube
Affine Transformations
Translation, Rotation, and Scaling
Transformations in Homogeneous Coordinates
Concatenation of Transformations
OpenGL Transformation Matrices
Interfaces to Three-Dimensional Applications
Quaternions
Summary and Notes
Suggested Readings
Exercises
Viewing
Classical and Computer Viewing
Viewing with a Computer
Positioning of the Camera
Simple Projections
Projections in OpenGL
Hidden-Surface Removal
Interactive Mesh Displays
Parallel-Projection Matrices
Perspective-Projection Matrices
Projections and Shadows
Summary and Notes
Suggested Readings
Exercises
Shading
Light and Matter
Light Sources
The Phong Reflection Model
Computation of Vectors
Polygonal Shading
Approximation of a Sphere by Recursive Subdivision
Light Sources in OpenGL
Specification of Materials in OpenGL
Shading of the Sphere Model
Global Illumination
Summary and Notes
Suggested Readings
Exercises
From Vertices to Fragments
Basic Implementation Strategies
Four Major Tasks
Clipping
Line-Segment Clipping
Polygon Clipping
Clipping of Other Primitives
Clipping in Three Dimensions
Rasterization
Bresenham's Algorithm
Polygon Rasterization
Hidden-Surface Removal
Antialiasing
Display Considerations
Summary and Notes
Suggested Readings
Exercises
Discrete Techniques
Buffers
Digital Images
Writing into Buffers
Bit and Pixel Operations in OpenGL
Examples
Mapping Methods
Texture Mapping
Texture Mapping in OpenGL
Texture Generation
Environment Maps
Compositing Techniques
Multirendering and the Accumulation Buffer
Sampling and Aliasing
Summary and Notes
Suggested Readings
Exercises
Programmable Shaders
Programmable Pipelines
Shading Languages
Extending OpenGL
The OpenGL Shading Language
The OpenGL Shading Language
Linking Shaders with OpenGL Programs
Moving Vertices
Lighting with Shaders
Fragment Shaders
Per-Vertex Versus Per-Fragment Phong Shading
Samplers
Cube Maps
Bump Mapping
Summary and Notes
Suggested Readings
Exercises
Modeling
Symbols and Instances
Hierarchical Models
A Robot Arm
Trees and Traversal
Use of Tree Data Structures
Animation
Graphical Objects
Scene Graphs
A Simple Scene Graph API
Other Tree Structures
Graphics and the Internet
Procedural Methods
Physically Based Models and Particle Systems
Newtonian Particles
Solving Particle Systems
Constraints
Summary and Notes
Suggested Readings
Exercises
Curves and Surfaces
Representation of Curves and Surfaces
Design Criteria
Parametric Cubic Polynomial Curves
Interpolation
Hermite Curves and Surfaces
Bíezier Curves and Surfaces
Cubic B-Splines
General B-Splines
Rendering of Curves and Surfaces
The Utah Teapot
Algebraic Surfaces
Curves and Surfaces in OpenGL 615
Summary and Notes
Suggested Readings
Exercises
Advanced Rendering
Going Beyond Pipeline Rendering
Ray Tracing
Building a Simple Ray Tracer
The Rendering Equation
Radiosity
RenderMan
Large-Scale Rendering
Image-Based Rendering
Summary and Notes
Suggested Readings
Exercises
Sample Programs
Sierpinski Gasket Program
Recursive Generation of Sierpinski Gasket
Recursive Three-Dimensional Sierpinski Gasket
Marching Squares
Square Drawing Program
Paint Program
Double-Buffering Example
Selection-Mode Picking Program
Rotating-Cube Program
Rotating Cube Using Vertex Arrays
Rotating Cube with a Virtual Trackball
Moving Viewer
Sphere Program
Mandelbrot Set Program
Bresenham's Algorithm
Rotating Cube with Texture
GLSL Example
Scene-Graph Example
Program for Drawing Bíezier Curves
Spaces
Scalars
Vector Spaces
Affine Spaces
Euclidean Spaces
Projections
Gram-Schmidt Orthogonalization
Suggested Readings
Exercises
Matrices
Definitions
Matrix Operations
Row and Column Matrices
Rank
Change of Representation
The Cross Product
Eigenvalues and Eigenvectors
Suggested Readings
Exercises
Synopsis of OpenGL Functions
Specifying Simple Geometry
Attributes
Working with the Window System
Interaction
Enabling Features
Transformations
Viewing
Defining Discrete Primitives
Display Lists
Picking
Lighting
Texture Mapping
State and Buffer Manipulation
Vertex Arrays
Blending Functions
Query Functions
Curve and Surface Functions
GLU Quadrics
GLSL Functions
References
Function Index
Subject Index
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program