Fundamentals of Computer Graphics
With contributions by Michael Ashikhmin, Michael Gleicher, Naty Hoffman, Garrett Johnson, Tamara Munzner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen, Brian Wyvill. The third edition of this widely adopted text gives students a comprehensive, fundamental introduction to computer graphics. The authors present the mathematical foundations of computer graphics with a focus on geometric intuition, allowing the programmer to understand and apply those foundations to the development of efficient code. New in this edition: * Four new contributed chapters, written by experts in their fields: Implicit Modeling, Computer Graphics in Games, Color, Visualization, including information visualization * Revised and updated material on the graphics pipeline, reflecting a modern viewpoint organized around programmable shading. * Expanded treatment of viewing that improves clarity and consistency while unifying viewing in ray tracing and rasterization. * Improved and expanded coverage of triangle meshes and mesh data structures. * A new organization for the early chapters, which concentrates foundational material at the beginning to increase teaching flexibility.
- Hardback | 804 pages
- 193.04 x 238.76 x 40.64mm | 1,519.53g
- 01 Sep 2009
- Taylor & Francis Inc
- A K Peters
- Natick, United States
- 3rd Revised edition
- , black & white illustrations, black & white line drawings, figures, colour plates
Fundamentals of Computer Graphics appears in its third updated edition to pack in discussions of the basics of computer graphics for college-level students and programmers. Four new chapters on implicit modeling, color, visualization and computer graphics in games have been added along with extensive revisions and updated new material, making this a 'must' for any college-level computer graphics library. -- The Midwest Book Review, December 2009
About Peter Shirley
Peter Shirley is a principal research scientist at NVIDIA and an adjunct professor in the School of Computing at the University of Utah. He has held positions at Indiana University and the Program of Computer Graphics at Cornell University. Steve Marschner is an associate professor in the Computer Science Department and Program of Computer Graphics at Cornell University.
Table of contents
Preface Introduction Graphics Areas Major Applications Graphics APIs Graphics Pipeline Numerical Issues Efficiency Designing and Coding Graphics Programs Miscellaneous Math Sets and Mappings Solving Quadratic Equations Trigonometry Vectors Curves and Surfaces Linear Interpolation Triangles Raster Images Raster Devices Images, Pixels, and Geometry RGB Color Alpha Compositing Ray Tracing The Basic Ray - Tracing Algorithm Perspective Computing Viewing Rays Ray-Object Intersection Shading A Ray - Tracing Program Shadows Ideal Specular Reflection Historical Notes Linear Algebra Determinants Matrices Computing with Matrices and Determinants Eigen values and Matrix Diagonalization Transformation Matrices 2D Linear Transformations 3D Linear Transformations Translation and Affine Transformations Inverses of Transformation Matrices Coordinate Transformations 7. Viewing Viewing Transformations Projective Transformations Perspective Projection Some Properties of the Perspective Transform Field-of-View The Graphics Pipeline Rasterization Operations Before and After Rasterization Simple Antialiasing Culling Primitives for Efficiency Signal Processing Digital Audio: Sampling in 1D Convolution Convolution Filters Signal Processing for Images Sampling Theory Surface Shading Diffuse Shading Phong Shading Artistic Shading Texture Mapping 3D Texture Mapping 2D Texture Mapping Texture Mapping for Rasterized Triangles Bump Textures Displacement Mapping Environment Maps Shadow Maps Data Structures for Graphics Triangle Meshes Scene Graphs Spatial Data Structures BSP Trees for Visibility Tiling Multidimensional Arrays More Ray Tracing Transparency and Refraction Instancing Constructive Solid Geometry Distribution Ray Tracing Sampling Integration Continuous Probability Monte Carlo Integration Choosing Random Points Curves Curves Curve Properties Polynomial Pieces Putting Pieces Together Cubics Approximating Curves Summary Implicit Modeling Implicit Functions, Skeletal Primitives and Summation Blending Rendering Space Partitioning More on Blending Constructive Solid Geometry Warping Precise Contact Modeling The Blob Tree Interactive Implicit Modeling Systems Computer Animation Principles of Animation Key framing Deformations Character Animation Physics-Based Animation Procedural Techniques Groups of Objects Notes Using Graphics Hardware What Is Graphics Hardware Describing Geometry for the Hardware Processing Geometry into Pixels Building Interactive Graphics Applications The Ball Shooting Program Programming Models The Model view-Controller Architecture Example Implementations Applying Our Results Notes Exercises Light Radiometry Transport Equation Photometry Color Colorimetry Color Spaces Chromatic Adaptation Color Appearance Notes Visual Perception Vision Science Visual Sensitivity Spatial Vision Objects, Locations, and Events Picture Perception Tone Reproduction Classification Dynamic Range Color Image Formation Frequency-Based Operators Gradient-Domain Operators Spatial Operators Division Sigmoids Other Approaches Night Tone mapping Discussion Global Illumination Particle Tracing for Lambertian Scenes Path Tracing Accurate Direct Lighting Reflection Models Real-World Materials Implementing Reflection Models Specular Reflection Models Smooth Layered Model Rough Layered Model Computer Graphics in Games Platforms Limited Resources Optimization Techniques Game Types The Game Production Process Visualization Background Data Types Human-Centered Design Process Visual Encoding Principles Interaction Principles Composite and Adjacent Views Data Reduction Examples Spatial-Field Visualization 2D Scalar Fields 3D Scalar Fields References