Interactive Computer Graphics - Edward Angel

Interactive Computer Graphics

A Top-Down Approach Using OpenGL: International Edition

(Autor)

Buch | Softcover
864 Seiten
2008 | 5th edition
Pearson (Verlag)
978-0-321-54943-3 (ISBN)
74,80 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
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.

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.

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 

Erscheint lt. Verlag 24.4.2008
Sprache englisch
Maße 231 x 205 mm
Gewicht 1480 g
Themenwelt Mathematik / Informatik Informatik Software Entwicklung
ISBN-10 0-321-54943-0 / 0321549430
ISBN-13 978-0-321-54943-3 / 9780321549433
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Entwurfsmuster für effektive Softwareentwicklung

von Karl Eilebrecht; Gernot Starke

Buch | Softcover (2024)
Springer Vieweg (Verlag)
19,99