Interactive computer graphics : a top-down approach using OpenGL
Author(s)
Bibliographic Information
Interactive computer graphics : a top-down approach using OpenGL
Pearson Addison-Wesley, c2009
5th ed
- international ed. : pbk.
- international ed. : pbk.
Available at 1 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Pearson International Edition
Includes bibliographical references (p. 795-803) and index
Description and Table of Contents
Description
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.
Table of Contents
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
by "Nielsen BookData"