text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. Computer Graphics: Principles and Practice

Computer Graphics: Principles and Practice, 3rd edition

  • John F. Hughes
  • Andries van Dam
  • Morgan McGuire
  • David F. Sklar
  • James D. Foley
  • Steven K. Feiner
  • Kurt Akeley

Published by Addison-Wesley Professional (July 10th 2013) - Copyright © 2014

3rd edition

Computer Graphics: Principles and Practice

ISBN-13: 9780321399526

Includes: Hardcover
Free delivery
$120.00

What's included

  • Hardcover

    You'll get a bound printed text.

Overview

  • Up To Date Information - Covers today's most important 2D and 3D algorithms, mathematical principles, and graphics programming techniques
  • Examples - Presents examples using widely-available, commonly-used Microsoft programming technologies tools
  • New Coverage - Teach rendering equation, GPU architecture considerations, and importance-sampling in physically based rendering
  • Full Color - Text and hundreds of figures presented in full color throughout book
  • Programs Written in C++, C#, WPF, or Pseudocode - Whichever language is most effective for given example
  • Instructor Resources - Solutions manual, sample syllabi, and chapter-by-chapter PowerPoint presentations

Table of contents

Preface xxxv

About the Authors xlv

 

Chapter 1: Introduction 1

 

Graphics is a broad field; to understand it, you need information from perception, physics, mathematics, and engineering. Building a graphics application entails user-interface work, some amount of modeling (i.e., making a representation of a shape), and rendering (the making of pictures of shapes). Rendering is often done via a “pipeline” of operations; one can use this pipeline without understanding every detail to make many useful programs. But if we want to render things accurately, we need to start from a physical understanding of light. Knowing just a few properties of light prepares us to make a first approximate renderer.

 

1.1 An Introduction to Computer Graphics 1

1.2 A Brief History 7

1.3 An Illuminating Example 9

1.4 Goals, Resources, and Appropriate Abstractions 10

1.5 Some Numbers and Orders of Magnitude in Graphics 12

1.6 The Graphics Pipeline 14

1.7 Relationship of Graphics to Art, Design, and Perception 19

1.8 Basic Graphics Systems 20

1.9 Polygon Drawing As a Black Box 23

1.10 Interaction in Graphics Systems 23

1.11 Different Kinds of Graphics Applications 24

1.12 Different Kinds of Graphics Packages 25

1.13 Building Blocks for Realistic Rendering: A Brief Overview 26

1.14 Learning Computer Graphics 31

 

Chapter 2: Introduction to 2D Graphics Using WPF 35

 

A graphics platform acts as the intermediary between the application and the underlying graphics hardware, providing a layer of abstraction to shield the programmer from the details of driving the graphics processor. As CPUs and graphics peripherals have increased in speed and memory capabilities, the feature sets of graphics platforms have evolved to harness new hardware features and to shoulder more of the application development burden. After a brief overview of the evolution of 2D platforms, we explore a modern package (Windows Presentation Foundation), showing how to construct an animated 2D scene by creating and manipulating a simple hierarchical model. WPF’s declarative XML-based syntax, and the basic techniques of scene specification, will carry over to the presentation of WPF’s 3D support in Chapter 6.

 

2.1 Introduction 35

2.2 Overview of the 2D Graphics Pipeline 36

2.3 The Evolution of 2D Graphics Platforms 37

2.4 Specifying a 2D Scene Using WPF 41

2.5 Dynamics in 2D Graphics Using WPF 55

2.6 Supporting a Variety of Form Factors 58

2.7 Discussion and Further Reading 59

 

Chapter 3: An Ancient Renderer Made Modern 61

 

We describe a software implementation of an idea shown by Dürer. Doing so lets us create a perspective rendering of a cube, and introduces the notions of transforming meshes by transforming vertices, clipping, and multiple coordinate systems. We also encounter the need for visible surface determination and for lighting computations.

For teachers

All the material you need to teach your courses.

Discover teaching material