Fundamentals of Computer Graphics
Fundamentals of Computer Graphics
Editor/Author
Marschner, Steve and Shirley, Peter
Publication Year: 2016
Publisher: CRC Press
Single-User Purchase Price:
$109.95

Unlimited-User Purchase Price:
Not Available
ISBN: 978-1-48-222939-4
Category: Technology & Engineering - Technology
Image Count:
547
Book Status: Available
Table of Contents
The fourth edition of Fundamentals of Computer Graphics continues to provide an outstanding and comprehensive introduction to basic computer graphic technology and theory. It retains an informal and intuitive style while improving precision, consistency, and completeness of material, allowing aspiring and experienced graphics programmers to better understand and apply foundational principles to the development of efficient code in creating film, game, or web designs.
Table of Contents
- Preface
- 1 Introduction
- 1.1 Graphics Areas
- 1.2 Major Applications
- 1.3 Graphics APIs
- 1.4 Graphics Pipeline
- 1.5 Numerical Issues
- 1.6 Efficiency
- 1.7 Designing and Coding Graphics Programs
- 2 Miscellaneous Math
- 2.1 Sets and Mappings
- 2.2 Solving Quadratic Equations
- 2.3 Trigonometry
- 2.4 Vectors
- 2.5 Curves and Surfaces
- 2.6 Linear Interpolation
- 2.7 Triangles
- 3 Raster Images
- 3.1 Raster Devices
- 3.2 Images, Pixels, and Geometry
- 3.3 RGB Color
- 3.4 Alpha Compositing
- 4 Ray Tracing
- 4.1 The Basic Ray-Tracing Algorithm
- 4.2 Perspective
- 4.3 Computing Viewing Rays
- 4.4 Ray-Object Intersection
- 4.5 Shading
- 4.6 A Ray-Tracing Program
- 4.7 Shadows
- 4.8 Ideal Specular Reflection
- 4.9 Historical Notes
- 5 Linear Algebra
- 5.1 Determinants
- 5.2 Matrices
- 5.3 Computing with Matrices and Determinants
- 5.4 Eigenvalues and Matrix Diagonalization
- 6 Transformation Matrices
- 6.1 2D Linear Transformations
- 6.2 3D Linear Transformations
- 6.3 Translation and Affine Transformations
- 6.4 Inverses of Transformation Matrices
- 6.5 Coordinate Transformations
- 7 Viewing
- 7.1 Viewing Transformations
- 7.2 Projective Transformations
- 7.3 Perspective Projection
- 7.4 Some Properties of the Perspective Transform
- 7.5 Field-of-View
- 8 The Graphics Pipeline
- 8.1 Rasterization
- 8.2 Operations Before and After Rasterization
- 8.3 Simple Antialiasing
- 8.4 Culling Primitives for Efficiency
- 9 Signal Processing
- 9.1 Digital Audio: Sampling in 1D
- 9.2 Convolution
- 9.3 Convolution Filters
- 9.4 Signal Processing for Images
- 9.5 Sampling Theory
- 10 Surface Shading
- 10.1 Diffuse Shading
- 10.2 Phong Shading
- 10.3 Artistic Shading
- 11 Texture Mapping
- 11.1 Looking Up Texture Values
- 11.2 Texture Coordinate Functions
- 11.3 Antialiasing Texture Lookups
- 11.4 Applications of Texture Mapping
- 11.5 Procedural 3D Textures
- 12 Data Structures for Graphics
- 12.1 Triangle Meshes
- 12.2 Scene Graphs
- 12.3 Spatial Data Structures
- 12.4 BSP Trees for Visibility
- 12.5 Tiling Multidimensional Arrays
- 13 More Ray Tracing
- 13.1 Transparency and Refraction
- 13.2 Instancing
- 13.3 Constructive Solid Geometry
- 13.4 Distribution Ray Tracing
- 14 Sampling
- 14.1 Integration
- 14.2 Continuous Probability
- 14.3 Monte Carlo Integration
- 14.4 Choosing Random Points
- 15 Curves
- 15.1 Curves
- 15.2 Curve Properties
- 15.3 Polynomial Pieces
- 15.4 Putting Pieces Together
- 15.5 Cubics
- 15.6 Approximating Curves
- 15.7 Summary
- 16 Computer Animation
- 16.1 Principles of Animation
- 16.2 Keyframing
- 16.3 Deformations
- 16.4 Character Animation
- 16.5 Physics-Based Animation
- 16.6 Procedural Techniques
- 16.7 Groups of Objects
- 17 Using Graphics Hardware
- 17.1 Hardware Overview
- 17.2 What Is Graphics Hardware
- 17.3 Heterogeneous Multiprocessing
- 17.4 Graphics Hardware Programming: Buffers, State, and Shaders
- 17.5 State Machine
- 17.6 Basic OpenGL Application Layout
- 17.7 Geometry
- 17.8 A First Look at Shaders
- 17.9 Vertex Buffer Objects
- 17.10 Vertex Array Objects
- 17.11 Transformation Matrices
- 17.12 Shading with Per-Vertex Attributes
- 17.13 Shading in the Fragment Processor
- 17.14 Meshes and Instancing
- 17.15 Texture Objects
- 17.16 Object-Oriented Design for Graphics Hardware Programming
- 17.17 Continued Learning
- 18 Light
- 18.1 Radiometry
- 18.2 Transport Equation
- 18.3 Photometry
- 19 Color
- 19.1 Colorimetry
- 19.2 Color Spaces
- 19.3 Chromatic Adaptation
- 19.4 Color Appearance
- 20 Visual Perception
- 20.1 Vision Science
- 20.2 Visual Sensitivity
- 20.3 Spatial Vision
- 20.4 Objects, Locations, and Events
- 20.5 Picture Perception
- 21 Tone Reproduction
- 21.1 Classification
- 21.2 Dynamic Range
- 21.3 Color
- 21.4 Image Formation
- 21.5 Frequency-Based Operators
- 21.6 Gradient-Domain Operators
- 21.7 Spatial Operators
- 21.8 Division
- 21.9 Sigmoids
- 21.10 Other Approaches
- 21.11 Night Tonemapping
- 21.12 Discussion
- 22 Implicit Modeling
- 22.1 Implicit Functions, Skeletal Primitives, and Summation Blending
- 22.2 Rendering
- 22.3 Space Partitioning
- 22.4 More on Blending
- 22.5 Constructive Solid Geometry
- 22.6 Warping
- 22.7 Precise Contact Modeling
- 22.8 The BlobTree
- 22.9 Interactive Implicit Modeling Systems
- 23 Global Illumination
- 23.1 Particle Tracing for Lambertian Scenes
- 23.2 Path Tracing
- 23.3 Accurate Direct Lighting
- 24 Reflection Models
- 24.1 Real-World Materials
- 24.2 Implementing Reflection Models
- 24.3 Specular Reflection Models
- 24.4 Smooth-Layered Model
- 24.5 Rough-Layered Model
- 25 Computer Graphics in Games
- 25.1 Platforms
- 25.2 Limited Resources
- 25.3 Optimization Techniques
- 25.4 Game Types
- 25.5 The Game Production Process
- 26 Visualization
- 26.1 Background
- 26.2 Data Types
- 26.3 Human-Centered Design Process
- 26.4 Visual Encoding Principles
- 26.5 Interaction Principles
- 26.6 Composite and Adjacent Views
- 26.7 Data Reduction
- 26.8 Examples
- References