Fundamentals of Computer Graphics (2nd Edition 2005)

649

Transcript of Fundamentals of Computer Graphics (2nd Edition 2005)

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 1/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 2/647

 undamentals of  omputer  raphics

Peter  hirley

School of Computing

University of Utah

w t

Michael shikhmin

Michael Gleicher

Stephen R Marschner

Erik Reinhard

Kelvin Sung

William   Thompson

Peter Willemsen

  K Peters

Wellesley Massachusetts

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 3/647

Editorial, Sales, and Customer Service Office

A K Peters, Ltd.

888 Worcester Street, Suite 230

Wellesley, MA 02482

www.akpeters.com

Copyright © 2005 by A K Peters, Ltd.

All rights reserved. No part of the material protected by this copyright

notice may be reproduced or utilized in any form, electronic or mechani

cal, including photocopying, recording, or by any information storage and

retrieval system, without written permission from the copyright owner.

 ibr ry of

  ongress ataloging in Publication Data

Shirley,

 

Peter), 1963-

Fundamentals of computer graphics / Peter Shirley; with Michael Ashikhmin   [et.

al.].--2nd ed.

p

cm.

Includes bibliographical references and index.

ISBN 1-56881-269-8

 

Computer graphics.

I

Ashikhmin, Michael.

II

Title.

T385.S4342005

006.6 96--dc22

2005048904

Printed

in

India

09   8 7 6

  98765432

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 4/647

 ont nts

Preface

  Introduction

1 1 Graphics Areas

1 2 Major Applications

1 3 Graphics APIs  

1 4 3D Geometric Models

1 5

Graphics Pipeline

1 6 Numerical Issues

1 7

  f f i c i ency

1 8 Software Engineering

2 Miscellaneous Math

2 1 Sets and Mappings

2 2 Solving Quadratic Equations

2 3

Trigonometry

2 4

Ve c t o r s

2 5 2 Implicit Curves

2 6 2 Parametric Curves

2 7 3D Implicit Surfaces

2 8 3D Parametric Curves

xi

1

I

2

3

4

4

5

8

8

 5

IS

 

2

23

3

36

38

4

v

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 5/647

viii

 ont nts

  Data Structures for Graphics

13 1 Triangle Meshes

13 2 Winged Edge Data Structure  

13 3 Scene Graphs

13 4 Tiling Multidimensional Arrays

  9

·

 

269

 27

·   272

·

 

274

 4 Sampling

14 1 Integration

14 2 Continuous Probability

14 3 Monte Carlo Integration

14 4 Choosing Random Points

 

79

  279

·  284

·  288

 

291

 5 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

  um m a r y

3

· 3 1

  307

 

310

  318

 

321

 327

 344

 47

·

 

348

 352

 36

361

·  367

·

 

370

·  373

·

 376

Principles of Animation

Keyframing

Deformations

Character Animation

Physics Based Animation

Procedural Techniques

Groups of Objects

Notes

6

Computer

Animation

16 1

16 2

16 3

16 4

16 5

16 6

16 7

16 8

 7

Using

Graphics Hardware

17 1

What

is

Graphics Hardware

17 2 Describing Geometry for the Hardware

17 3 Processing Geometry into Pixels

79

·  379

·

 38

·

 387

 8 Building Interactive Graphics Applications 4

18 1

The Ball Shooting Program 402

18 2 Programming Models 404

18 3 The Modelview Controller Architecture

421

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 6/647

Contents

18.4 Example Implementations

18.5 Applying Our Results

18.6 Notes

 

18.7 Exercises

 9 Light

19 1

Radiometry

19.2 Transport Equation

19.3 Photometry .

ix

·

 433

·

 

443

·

 

446

 447

45

·

 451

·   460

·

 

462

2 Color

2 1

20.2

20.3

20.4

20.5

20.6

20.7

20.8

Light and Light Detectors

Tristimulus Color Theory .

CIE Tristimulus Values . .

Chromaticity . . . .

Scotopic Luminance . . .

RGB Monitors . . . . .

Approximate Color Manipulation

Opponent Color Spaces. . . . . .

465

·  466

·  466

·

 

468

 469

·

 

472

·  472

·

 473

·  474

 

Visual Perception

21 1

Vision Science

21.2 Visual Sensitivity . .

21.3 Spatial Vision . . .

21.4 Objects Locations and Events .

21.5 Picture Perception .

22 Tone Reproduction

22 1

Classification

22.2 Dynamic

Range

.

22.3 Color .

22.4 Image Formation

22.5 Frequency Based Operators

22.6 Gradient Domain Operators

22.7 Spatial Operators

22.8

  iv i s i on

22.9 Sigmoids . . . . .

22.10 Other Approaches

22.11 Night Tonemapping

22.12 Discussion .

477

 478

 479

·

 495

·

 5 9

· . 517

5

524

·

 525

 527

·

 529

 

529

. . . . . . .

531

·

 

532

·

 534

 535

·  54

543

·

 544

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 7/647

x

  Global Illumination

23 1 Particle Tracing for Lambertian Scenes

23 2 Path Tracing

23 3 Accurate Direct Lighting

ont nts

547

  548

 

553

  4

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

6

6

56

565

 566

 

569

  5 Image Based Rendering

25 1 The Light Field

25 2 Creating a Novel Image from a Set of Images

  6 Visualization

26 1 2D Scalar Fields

26 2 3D Scalar Fields

References

Index

577

  578

 

579

58

583

 585

595

6

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 8/647

Preface

This book is a product of several graphics courses I have taught at Indiana Univer

sity and the University

of

Utah. All graphics books must choose between teaching

the low-level details under the hood

of

graphics programs or teaching how to

use modem graphics APls such as OpenGL Direct3D and Java3D. This book

chooses the former approach. I do not have a good justification for this choice

other than that I have taught both styles of courses and the students in the Iow

level courses seemed to understand the material better than the other students and

even seemed to use the APls more effectively. There are many reasons this might

 e

true and the effect may not transfer to other teachers or schools. However I

believe that teaching the fundamentals is usually the right approach whether in

graphics another academic discipline or a sport.

 ow to Use this

 ook

The book begins with nine chapters that roughly correspond to a one-semester

course which takes students through the graphics pipeline and basic ray tracing.

 

has students implement everything i.e. it is not a learn OpenGL style text.

However the pipeline presented is consistent with the one implemented

in

graph

i s hardware and students who have used the book should find OpenGL or other

common APls familiar

in

many ways.

 

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 9/647

xii

 ref ce

The second part

 

the book is a series

 

advanced topics that are not highly

ordered. This allows a variety

 

second-semester courses and a few weeks

 

advanced topics in a first semester course.

For the first semester, I would suggest the following as a possible outline  

initial assignments:

 

Math homework at the end   Chapter 2 followed by at least one in-class

exam.

2

Line rasterization.

3

Triangle rasterization with barycentric color interpolation.

4.

Orthographic wireframe drawing.

5. Perspective wireframe drawing.

6 BSP-tree with flat-shaded triangles and wireframe edges with only trivial

z-clipping and with mouse-driven viewpoint selection.

7

Finite-precision z-buffer implementation with only trivial z-clipping.

Following these assignments, the instructor could do assignments on ray tracing

or could have the students add shadow-maps, Phong lighting, clipping, and tex

tures to their z-buffers, or they could move the students into programming with a

3D API.

 bout the  over

The cover image is from  iger in the aterby J W Baker brushed and air

brushed acrylic on canvas, 16 by 20 , www.jwbart.com).

The subject   a tiger is a reference to a wonderful talk given by Alain Fournier

 1943-2000) at the Cornell Workshop in 1998. His talk was

an

evocative verbal

description   the movements   a tiger. He summarized his point:

Even though modelling and rendering in computer graphics have

been improved tremendously in the past 35 years, we are still not

at the point where we can model automatically a tiger swimming

in

the river in all its glorious details. By automatically I mean in a way

that does not need careful manual tweaking by an artist/expert.

The bad news is that we have still a long way to go.

The good news is that we have still a long way to go.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 10/647

Preface

Online Resources

xiii

The web site for this book

 s

http://www.cs.utah.edu/

 

shirley/fcg2/. I will main-

tain an errata list there as well  s links to people using the book in classes. Al-

though I do not provide slides for the course, Rich Riesenfeld has graciously

agreed to make his excellent slides available, and a pointer to those slides will be

available at the book s web site. Most of the figures in this book are in Abobe Il-

lustrator format. I would be happy to convert specific figures into portable formats

on request. Please feel free to contact me at [email protected].

 hanges   this dition

There are many small changes in the material from the first edition of this book,

but the two large changes are the addition

of

a bibliography and the addition

of

new chapters written by colleagues. These colleagues are people I think are clear

thinkers and communicators, and I invited them each to write a chapter with arm-

twisting designed to get certain key topics covered. Most

of

them have used the

book in a class and were thus familiar with its approach. The bibliography is not

meant to be extensive, but

 s

instead a place for readers to get started. I am sure

there are omissions there, and I would like to hear about any crucial references

we have missed. The new chapters are:

Signal Processing by Stephen Marschner, Cornell University Chapter 4).

Curves by Michael Gleicher, University of Wisconsin Chapter 15).

Computer Animation by Michael Ashikhmin, SUNY at Stony Brook

  Chapter 16).

Using Graphics   rdw re by Peter Willemsen, University of Minnesota

Duluth Chapter 17).

Building Interactive Graphics Applications

by Kelvin Sing, University

of

Washington Bothell Chapter 18)

Visual Perception by William B. Thompson, University of Utah

  Chapter 21).

Tone Reproduction

by Erik Reinhard, University

of

Central Florida

  Chapter 22).

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 11/647

xiv

  knowledgements

 reface

The following people have provided helpful comments about the book: Josh An

dersen, Zeferino Andrade, Michael Ashikhman, Adam Berger, Adeel Bhutta,

Solomon Boulos, Stephen Chenney, Michael Coblenz, Greg Coombe, Frederic

Cremer, Brian Curtin, Dave Edwards, Jonathon Evans, Karen Feinauer, Amy

Gooch, Eungyoung Han, Chuck Hansen, Andy Hanson, Dave Hart, John Hart,

Helen Hu, Vicki Interrante, Henrik Wann Jensen, Shi Jin, Mark Johnson, Ray

Jones, Kristin Kerr, Dylan Lacewell, Mathias Lang, Philippe Laval, Marc Levoy,

Howard Lo, Ron Metoyer, Keith Morley, Eric Mortensen, Tamara Munzner, Koji

Nakamaru, Micah Neilson, Blake Nelson, Michael Nikelsky, James O Brien,

Steve Parker, Sumanta Pattanaik, Matt Pharr, Peter Poulos, Shaun Ramsey, Rich

Riesenfeld, Nate Robins, Nan Schaller, Chris Schryvers, Tom Sederberg, Richard

Sharp, Sarah Shirley, Peter-Pike Sloan, Tony Tahbaz, Jan-Phillip Tiesel, Bruce

Walter, Alex Williams, Amy Williams, Chris Wyman, and Kate Zebrose.

Ching-Kuang Shene and David Solomon allowed me to borrow examples

from their works. Henrik Jensen, Eric Levin, Matt Pharr, and Jason Waltman

generously provided images. Brandon Mansfield was very helpful

in

improving

the content of the discussion of hierarchical bounding volumes for ray tracing.

Carrie Ashust, Jean Buckley, Molly Lind, Pat Moulis, and Bob Shirley, provided

valuable logistical support. Miranda Shirley provided valuable distractions.

I am extremely thankful to J W Baker helping me to get the cover I envi

sioned. In addition to being a talented artist, he was a great pleasure to work with

personally.

Many works were helpful in preparing this book, and most

of

them appear

in the notes for the appropriate chapters. However, a few pieces that influenced

the content and presentation do not, and I list them here. I thank the authors for

their help. These include the two classic computer graphics texts I first learned

the basics from as a student: Computer Graphics Principles   Practice (Foley,

Van

Dam, Feiner,

 

Hughes, 1990), and

Computer Graphics

(Hearn   Baker,

1986). Other texts include both

of

Alan Watt s classic books (Watt, 1993, 1991),

Hill s

Computer Graphics Using OpenGL

(Francis S Hill, 2000), Angel s

Inter-

active Computer Graphics A Top Down Approach With OpenGL (Angel, 2002),

Hughes Hoppe s University

of

Washington dissertation (Hoppe, 1994), and

Rogers two classic graphics texts (D. F Rogers, 1985, 1989).

This book was written using the lbT X document preparation software on an

Apple Powerbook. The figures were made by the author using the

Adobe Illustra-

tor package. I would like to thank the creators of those wonderful programs.

  d

like to thank the University of Utah for allowing me to work on this book

during sabbatical.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 12/647

 ref ce

 

I would like to especially thank Alice and Klaus Peters for encouraging me to

write the first edition

 

this book for their great skill in bringing a book to fruition

and for their dedication to making their books the best they can be In addition

to finding many errors in formulas and language in the second edition they put

in many weeks   extremely long hours in the home stretch   the process and I

have no doubt this book would not have been finished without their extraordinary

efforts

Salt Lake City

April 2005

Peter Shirley

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 13/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 14/647

Introduction

The

omputer Graphics

describes any use   computers to create or ma-

nipulate images. This book takes a slightly more specific view and deals mainly

with algorithms for image generation. Doing computer graphics inevitably re-

quires some knowledge   specific hardware, file formats, and usually an API

 

or

two. The specifics   that knowledge are a moving target due to the rapid evolu-

tion   the field, and therefore such details will be avoided  n this text. Readers

are encouraged to supplement the text with relevant documentation for their soft-

warelhardware environment. Fortunately the culture

 

computer graphics has

enough standard terminology and concepts that the discussion

 n

this book should

map nicely to most environments. This chapter defines some basic tenninology,

and provides some historical background as well as infonnation sources related

to

computer graphics.

 

Graphics

Areas

 t s

always dangerous to try to categorize endeavors in any field, but most graph-

ics practitioners would agree on the following major areas and that they are part

  the field   computer graphics:

 

An

application program illlerj ace

 API s a software interface for basic operations such as line

drawing. Current popular APls include OpenGL, Direct3D, and Java3D.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 15/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 16/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 17/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 18/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 19/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 20/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 21/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 22/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 23/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 24/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 25/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 26/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 27/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 28/647

Miscellaneous Math

Much

o

graphics

 s

 ust translating math directly into code. The cleaner the math,

the cleaner the resulting code. Thus, much o this book concentrates on using  ust

the right math for the job. This chapter reviews various tools from high school

and college mathematics, and

 s

designed to be used more

 s

a reference than

 s

a tutorial.  t may appear to be a hodge-podge o topics, and indeed it is; each

topic

 s

chosen because it

 s

a bit unusual  n  standard math curricula, because it

 s o central importance in graphics, or because it

 s

not typically treated from a

geometric standpoint.

 

addition to establishing a review with the notation used

 n

the book, the chapter also emphasizes a few points that are sometimes skipped

 n the standard undergraduate curricula, such as barycentric coordinates on tri

angles. This chapter

 s

not intended

to

be a rigorous treatment o the material;

instead intuition and geometric interpretation are emphasized. A discussion

o

linear algebra

 s

deferred until Chapter 5 just before transformation matrices are

discussed. Readers are encouraged to skim this chapter to familiarize themselves

with the topics covered and to refer back to it

 s

needed. The exercises at the end

o

the chapter may be useful

 n

determining which topics need a refresher.

2

ets and appings

  appingsalso calledfunctions are basic to mathematics and programming. Like

a function  n a program, a mapping  n math takes an argument o one

type

and

maps it to returns) an object o a particular type.

 

a program we say type; n

15

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 29/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 30/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 31/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 32/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 33/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 34/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 35/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 36/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 37/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 38/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 39/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 40/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 41/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 42/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 43/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 44/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 45/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 46/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 47/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 48/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 49/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 50/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 51/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 52/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 53/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 54/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 55/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 56/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 57/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 58/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 59/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 60/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 61/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 62/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 63/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 64/647

Raster  lgorithms

Most computer graphics images are presented to the user on a

raster

display. Such

systems show images as rectangular arrays of pixels which is short for picture

elements. These pixels are set using RGB red-green-blue) color. In this chapter,

we discuss the basics of raster displays, emphasizing the RGB color system and

the non-linearities

of

standard image display.

3 1

Raster

 isplays

There are a variety

9f

display technologies for desktop and projected display.

These displays vary

in resolution

 the number

of

pixels) and physical size. Pro

grammers can usually assume that the pixels are laid out in a rectangular array,

also called a

raster

3

ixels

Each displayable element

in

a raster display

is

called a

pixel

Displays usually

index pixels

by

an ordered pair

 i, j

indicating the row and column

of

the pixel.

If a display has

 

x

columns and

 

rows

of

pixels, the bottom-left element is pixel

 0,0)

and the top-right

is

pixel

 n

x

- 1 n

y

- 1).

J

 In many APIs the rows of an image will be addressed in the less intuitive manner from the top-to

bottom. so the top-left pixel has coordinates  0,0 . This convention is common for historical reasons;

it is the order that rows come in a standard television transmission.

5

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 65/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 66/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 67/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 68/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 69/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 70/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 71/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 72/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 73/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 74/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 75/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 76/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 77/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 78/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 79/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 80/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 81/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 82/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 83/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 84/647

 tephen

 

rschner

 ignal  rocessing

In

graphics, we often deal with functions of a continuous variable: an image is

the first example you have seen, but you will encounter many more as you con

tinue your exploration of graphics. By their nature continuous functions

can t

be

directly represented in a computer; we have to somehow represent them using

a finite number of bits. One

of

the most useful approaches to representing con

tinuous functions

is

to use s mples of the function:

just

store the values of the

function at many different points and re onstru t the values in between when and

if they are needed.

You are by now familiar with the idea

of

representing an image using a two

dimensional grid of pixels so you have already seen a sampled representation

Think of an image captured by a digital camera: the actual image of the scene that

was formed by the camera s lens is a continuous function of the position on the

image plane, and the camera converted that function into a two-dimensional grid

of samples. Mathematically, the camera converted a function of type ]R2   C

(where C

is

the set of colors) to a two-dimensional array of color samples, or a

function of type Z2   C.

Another example of a sampled representation

is

a 2D digitizing tablet such

as the screen of a tablet computer or PDA. In this case the original function is

the motion of the stylus, which

is

a time-varying 2D position, or a function of

type]R   ]R2 The digitizer measures the position of the stylus at many points in

time, resulting in a sequence of 2D coordinates, or a function of type Z   ]R2 A

71

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 85/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 86/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 87/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 88/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 89/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 90/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 91/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 92/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 93/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 94/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 95/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 96/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 97/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 98/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 99/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 100/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 101/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 102/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 103/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 104/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 105/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 106/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 107/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 108/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 109/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 110/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 111/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 112/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 113/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 114/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 115/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 116/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 117/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 118/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 119/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 120/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 121/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 122/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 123/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 124/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 125/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 126/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 127/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 128/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 129/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 130/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 131/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 132/647

Linear Algebra

Perhaps the most universal tools

of

graphics programs are the matrices that

change or

tr ns orm

points and vectors.

 n

the next chapter,

we

will see

how a vector can be represented as a matrix with a single column, and how

the vector can be represented

in

a different basis via multiplication with a

square matrix.

  e

will also describe how we can use such multiplications to ac

complish changes in the vector such as scaling, rotation, and translation.

 n

this chapter, we review basic linear algebra from a geometric perspective.

This chapter can be skipped by readers comfortable with linear algebra.

However, there may be some enlightening tidbits even for such readers, such as

the development

of

determinants and the discussion

of

singular and eigenvalue

decomposition.

5 eterminants

  eusually think

of

determinants as arising

in

the solution

of

linear equations.

However, for our purposes, we will think

of

determinants as another way to mul

tiply vectors. For 20 vectors a and

b

the determinant labl

is

the area

of

the

parallelogram formed

by

a and b Figure 5.1). This is a signed area, and the

sign

is

positive if a and b are right-handed and negative if they are left-handed.

This means labl

=

  Ibal.  n20

we can interpret right-handed as meaning

we

would rotate the first vector counterclockwise to close the smallest angle to the

second vector.

 n

3D the determinant must be taken with three vectors at a time.

For three 3D vectors,

a

band

e

the determinant label is the signed volume

of

the parallelepiped 3D parallelogram; a sheared 3D box) formed by the three vec-

119

 igure

5 1 The signed

area of the parallelogram  s

labl,

and  n this case the

area  s positive

igure

5.2. The

signed volume of the paral-

lelepiped shown  s denoted

 y the determinant

label,

and in this case the volume

 s positive because the vec-

tors form a right handed ba-

sis

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 133/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 134/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 135/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 136/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 137/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 138/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 139/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 140/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 141/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 142/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 143/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 144/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 145/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 146/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 147/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 148/647

Transformation Matrices

 nthis chapter, we describe how we can use matrix multiplications to accomplish

changes

in

a vector such

as

scaling, rotation, and translation.   ealso discuss how

these transforms operate differently on locations points , displacement vectors,

and surface normal vectors.

  e

will show how a set   points transforms if the points are represented as

offset vectors from the origin. So think   the image we shall use a clock as a

bunch   points that are the ends   vectors whose tails are at the origin.

6

asic   ransforms

  ecan use matrices

to

change the components   a 2D vector. For example:

Such a transformation can change vectors in a variety   ways that are useful.

 nparticular, it can be used to scale, rotate, and shear.   ewill introduce more

general transformations later, but the basics   transformation are embodied in

the simple formula above. For our purposes, consider moving along the x-axis a

horizontal move, and along the y-axis, a vertical move.

  5

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 149/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 150/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 151/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 152/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 153/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 154/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 155/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 156/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 157/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 158/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 159/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 160/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 161/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 162/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 163/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 164/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 165/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 166/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 167/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 168/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 169/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 170/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 171/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 172/647

 i wing

The transfonn tools developed in the last chapter will make it straightforward for

us to create images   3D line segments.  n this chapter, we develop the methods

to produce 3D orthographic and perspective views

 

line segments in space with

no

 hidden-line removal Figure 7.1). Note that  n the orthographic projection,

the parallel lines  n 3D are parallel  n the image, while in the perspective pro

jection they may not be parallel in the image. For the entire chapter, we assume

that 3D line segments are specified by two end points, each   the fonn  x,

 

z .

 n the next chapter we use BSP trees and z-buffers to allow opaque objects with

hidden-line and hidden-surface removal, and we will use triangle faces rather than

triangle edges.

 igur 7 Left: orthographic projection Middle: perspective projection Right: perspective

projection with hidden lines removed

159

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 173/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 174/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 175/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 176/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 177/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 178/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 179/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 180/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 181/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 182/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 183/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 184/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 185/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 186/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 187/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 188/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 189/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 190/647

Hidden Surface Elimination

While

w

know how to get a single triangle onto the screen by projecting its

vertices from 3D to the canonical view volume, we will achieve more realism if

w

also do

hidden suif ce elimin tion

where only the closest surface  s visible

to the viewer. This can be achieved through numerous methods; we only cover

the two most commonly used ones here: BSP trees Fuchs, Kedem,

 

Naylor,

1980) and z-buffering Catmull, 1975). Ray tracing can also be thought

 

as a

hidden surface algorithm, but it will be discussed  n its own chapter since it does

not integrate well into the standard project-and-rasterize process. There are many

other hidden surface algorithms Sutherland, Sproull,

 

Schumacker. 1974), but

few besides those three are used  n practice.

8 Tree

If

w

are making many images

 

the same geometry from different viewpoints,

as  s often the case for applications such as games, we can use a

bin ry sp ce

p rtitioning

 BSP) tree algorithm to order the surfaces from front to back. The

key aspect

 

the BSP tree  s that it uses a preprocess to create a data structure that

 s

useful for any viewpoint. So, as the viewpoint changes, the same data structure

 s used without change.

177

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 191/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 192/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 193/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 194/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 195/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 196/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 197/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 198/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 199/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 200/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 201/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 202/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 203/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 204/647

Surface Shading

To make objects appear to have more volume it can help to use shading i.e. the

surface

is

 painted with light. This chapter presents the most common heuristic

shading methods. The first two diffuse and Phong shading were developed in the

1970s and are available in most graphics libraries. The last artistic shading uses

artistic conventions to assign color to objects. This creates images reminiscent o

technical drawings which

is

desirable in many applications.

9 iffuse hading

Many objects in the world have a surface appearance loosely described

as

 matte

indicating that the object is not at all shiny. Examples include paper unfinished

wood and dry unpolished stones.

To

a large degree such objects do not have a

color change with a change in viewpoint. For example you stare at a partic-

ular point on a piece

o

paper and move while keeping your gaze fixed on that

point the color at that point will stay relatively constant. Such matte objects can

be considered as behaving as   ambertianobjects. This section discusses how to

implement the shading o such objects. A key point

is

that all formulas in this

chapter should be evaluated in world coordinates and not in the warped coordi-

nates after the perspective transform

is

applied. Otherwise the angles between

normals are changed and the shading will be inaccurate.

 

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 205/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 206/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 207/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 208/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 209/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 210/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 211/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 212/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 213/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 214/647

 ay

 racing

  y tr cing is

a method to produce realistic images; it determines visible sur

faces in an image at the pixel level (Appel, 1968; Kay   Greenberg, 1979; Whit

ted, 1980). Unlike the z-buffer and  S tree, ray tracing operates pixel-by-pixel

rather than primitive-by-primitive. This tends to make ray tracing relatively slow

for scenes with large objects in screen space. However, it has a variety of nice

features which often make it the right choice for batch rendering and even for

some interactive applications.

Ray tracing s primary benefit is that it is relatively straightforward to com

pute shadows and reflections. In addition, ray tracing

is

well suited to walk

throughs of extremely large models due to advanced ray tracing s low asymptotic

time complexity which makes up for the required preprocessing of the model

(Snyder

 

Barr, 1987; Muuss, 1995; Parker, Martin, et aI., 1999; Wald, Slusallek,

Benthin,

 

Wagner, 200 I).

 n an interactive 3D program implemented in a conventional z-buffer environ

ment, it

is

often useful

  e

able to select an object using a mouse. The mouse

is

clicked in pixel

 i

and the picked object is whatever object is   seen through

that pixel. If the rasterization process includes an object identification buffer, this

is just a matter

of

looking up the value in pixel

 i

of that buffer. However,

if that buffer

is

not available,

we

can solve the problem of which object is vis

ible via brute force geometrical computation using a ray intersection test. In

this way, ray tracing is useful also to programmers who use only standard

graphics APls.

201

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 215/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 216/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 217/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 218/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 219/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 220/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 221/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 222/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 223/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 224/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 225/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 226/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 227/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 228/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 229/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 230/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 231/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 232/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 233/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 234/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 235/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 236/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 237/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 238/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 239/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 240/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 241/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 242/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 243/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 244/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 245/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 246/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 247/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 248/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 249/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 250/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 251/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 252/647

 exture

 apping

The shading models presented

in

Chapter 9 assume that a diffuse surface has uni

form reflectance

  r

This

is

fine for surfaces such as blank paper or painted walls,

but

it is

inefficient for objects such as a printed sheet

of

paper. Such objects have

an appearance whose complexity arises from variation in reflectance properties.

While

we

could use such small triangles that the variation is captured

by

varying

the reflectance properties of the triangles, this would be inefficient.

The common technique to handle variations

of

reflectance is to store the re

flectance as a function or a a pixel-based image and map it onto a surface Cat

mull, 1975). The function or image is called a

texture map

and the process

of

controlling reflectance properties is called

texture mapping

This is not hard to

implement once you understand the coordinate systems involved. Texture map

ping can be classified by several different properties:

I. the dimensionality

of

the texture function,

 

the correspondences defined between points on the surface and points

in

the

texture function, and

3

whether the texture function is primarily procedural or primarily a table

look-up.

These items are usually closely related, so we will somewhat arbitrarily classify

textures by their dimension.

We

first cover 3D textures, often called

solid

tex

tures or

volume

textures.

We

will then cover

 

textures, sometimes called

image

  9

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 253/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 254/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 255/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 256/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 257/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 258/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 259/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 260/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 261/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 262/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 263/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 264/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 265/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 266/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 267/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 268/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 269/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 270/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 271/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 272/647

A  ull Graphics Pipeline

A common operation in graphics is   lipping where one geometric entity cuts

another. For example,

 

you clip a triangle against the plane

x =

0, the plane

cuts the triangle. In most applications

o

clipping, the portion

o

the triangle on

the wrong side

o

the plane is discarded. Here the wrong side

is

whichever side

is specified by the details

o

the application. This operation for a single plane is

shown in Figure   2

This section discusses the basic implementation o a clipping module. Those

interested in implementing an industrial-speed clipper should see the book by

Blinn mentioned in the notes at the end

o

this chapter.

So far we have covered how to rasterize triangles and how to use transformation

matrices and z-bufferslBSP trees to create perspective views o 3D triangles. Al

though this is the core

o

most modem graphics systems, there are a number

o

details that must be addressed before our system is complete.

We

have not yet

addressed the case where some or all

o

a triangle is outside the view volume;

this

is

handled by a process called clipping; parts

o

triangles outside the view

volume are cut away or  clipped Sutherland et aI., 1974; Cyrus

 

Beck, 1978;

J Blinn

 

Newell, 1978; Liang

 

Barsky, 1984). The other important details

in this chapter are related to improving efficiency and appearance in a graphics

pipeline.

  2

lipping

clipping

,  pl ne

,

,

 

,

, )

 

,

,

,

 .

I

I

I

  .

,

,

,

Figure

12.1. A polygon

is clipped against a clipping

plane. The portion inside

the plane is retained.

259

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 273/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 274/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 275/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 276/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 277/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 278/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 279/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 280/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 281/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 282/647

 ata

Structures

for

 raphics

There are a variety

 

data structures that seem to pop up repeatedly

in

graphics

applications. This chapter talks about three basic and unrelated data structures

that are among the most common and useful. There are many variants

 

these

data structures, but the basic ideas behind them can be conveyed using an example

 

each.

First the winged-edge data structure for storing tessellated geometric mod

els

is

discussed Baumgart, 1974 . The winged-edge data structure is useful for

managing models where the tessellation changes, such as

in

subdivision or sim

plification routines.

Next, the scene-graph data structure

is

presented. These are rapidly becoming

well supported features

 

all new graphics APIs because they are so useful

in

managing objects and transformations.

Finally, the tiled multidimensional array is presented. Originally developed to

help paging performance, such structures are now crucial for memory locality on

machines regardless   whether the array fits

in

main memory.

  3

Triangle Meshes

One

 

the most common model representations is a polygonal mesh as discussed

in

Section 11.3. When such meshes are unchanging

in

the program, the simple

structure described

in

that section is usually sufficient. However, when the meshes

are to be modified, more complicated data representations are needed to efficiently

answer queries such

  s

269

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 283/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 284/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 285/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 286/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 287/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 288/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 289/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 290/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 291/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 292/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 293/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 294/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 295/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 296/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 297/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 298/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 299/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 300/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 301/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 302/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 303/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 304/647

Sampling

Many applications

 n

graphics require fair sampling of unusual spaces such as

the space of all possible lines. For example we might need to generate random

edges within a pixel or random sample points on a pixel that vary in density

according to some density function. This chapter provides the machinery for such

probability operations. These techniques will also prove useful for numerically

evaluating complicated integrals using Monte Carlo integration also covered  n

this chapter.

  4

Integration

Although the words integral and measure often seem intimidating they relate

to some

of

the most intuitive concepts found

 n

mathematics and they should not

be feared. For our very non-rigorous purposes a measure  s just a function that

maps subsets to jR+

 n

a manner consistent with our intuitive notions

of

length

area and volume. For example on the

20

real plane jR2 we have the area measure

  which assigns a value to a set of points in the plane. Note that   s just a

function that takes pieces

of

the plane and returns area. This means the domain

of

 

s all possible subsets of jR2 which we denote as the

power set

p jR2 . Thus

w can characterize  

n

arrow notation:

279

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 305/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 306/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 307/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 308/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 309/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 310/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 311/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 312/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 313/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 314/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 315/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 316/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 317/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 318/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 319/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 320/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 321/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 322/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 323/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 324/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 325/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 326/647

Michael  leicher

 urves

  5 urves

Intuitively, think   a curve as something you can draw with a pen. The curve is

the set   points that the pen traces over an interval   time. While we usually

think

 

a pen writing on paper e.g., a curve that is in a 2D space , the pen could

move in 3D to generate a sp ce curve or you could imagine the pen moving in

some other kind

  space.

Mathematically, definitions   curve can be seen in at least two ways:

I. The continuous image   some interval in an n-dimensional space.

  A continuous map from a one-dimensional space

to an n-dimensional space.

Both   these definitions start with the idea   an interval range the time over

which the pen traces the curve . However, there is a significant difference: in

the first definition, the curve

is

the set   points the pen traces the image , while

in

the second definition, the curve is the mapping between time and that set  

points. For this chapter, we use the first definition.

A curve is an infinitely large set   points. The points in a curve have the

property that any point has two neighbors, except for a small number

 

points

that have one neighbor these are the endpoints . Some curves have no endpoints,

either because they are infinite like a line or they are closed  loop around and

connect to themselves .

3

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 327/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 328/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 329/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 330/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 331/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 332/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 333/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 334/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 335/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 336/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 337/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 338/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 339/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 340/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 341/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 342/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 343/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 344/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 345/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 346/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 347/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 348/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 349/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 350/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 351/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 352/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 353/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 354/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 355/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 356/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 357/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 358/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 359/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 360/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 361/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 362/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 363/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 364/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 365/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 366/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 367/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 368/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 369/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 370/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 371/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 372/647

Micnael  shikhmin

 omputer

 nimation

 nim tion

is

derived from the Latin  nim and means the act, process, or result

of imparting life, interest, spirit, motion, or activity. Motion is a defining property

of life and much of the true art of animation

is

about how to tell a story, show

emotion, or even express subtle details of human character through motion. A

computer is a secondary tool for achieving these go ls it is a tool which a skillful

animator can use to help get the result he wants faster and without concentrating

on technicalities in which he is not interested. Animation without computers,

which

is

now often called traditional animation, has a long and rich history

of

its own which

is

continuously being written by hundreds

of

people still active in

this art.  s

in

any established field, some time-tested rules have been crystallized

which give general high-level guidance to how certain things should be done and

what should be avoided. These principles of traditional animation apply equally

to computer animation, and we will discuss some of them below.

The computer, however, is more than just a tool.  n addition to making the

animator s main task less tedious, computers also add some truly unique abil

ities that were simply not available or were extremely difficult to obtain be

fore. Modem modeling tools allow the relatively easy creation of detailed three

dimensional models, rendering algorithms can produce an impressive range of

appearances, from fully photorealistic to highly stylized, powerful numerical sim

ulation algorithms can help to produce desired physics-based motion for partic

ularly hard to animate objects, and motion capture systems give the ability to

record and use real-life motion. These developments led to an exploding use

of computer animation techniques in motion pictures and commercials, automo-

347

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 373/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 374/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 375/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 376/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 377/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 378/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 379/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 380/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 381/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 382/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 383/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 384/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 385/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 386/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 387/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 388/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 389/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 390/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 391/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 392/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 393/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 394/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 395/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 396/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 397/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 398/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 399/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 400/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 401/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 402/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 403/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 404/647

Peter

Willemsen

Using  raphics

 ardware

Throughout most

 

this book, the focus has been on the fundamentals underlying

computer graphics rather than on implementation details. This chapter takes a

slightly different route and blends the details   using graphics hardware with the

practical issues associated with programming that hardware.

This chapter, however, is not written to teach you

OpenGL TM

other graphics

APIs, or even the nitty gritty specifics

 

graphics hardware programming. The

purpose   this chapter is to introduce the basic concepts and thought processes

that are necessary when writing programs that use graphics hardware.

  7 What

is  raphics  ardware

 r phics h rdw re

describes the hardware components necessary to quickly ren-

der 3D objects as pixels on your computer s screen using specialized rasterization-

based hardware architectures. The use

 

this term is meant to elicit a sense  

the physical components necessary for performing these computations. In other

words, we re talking about the chipsets, transistors, buses, and processors found

on many current video cards.   swe will see in this chapter, current graphics

hardware is very good at processing descriptions

 

3D objects and transforming

them into the colored pixels that fill your monitor.

One thing has been certain with graphics hardware: it changes very

quickly

with

new

extensions and features being added continually One explanation for

the fast pace is the video game industry and its economic momentum. Essentially

379

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 405/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 406/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 407/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 408/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 409/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 410/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 411/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 412/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 413/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 414/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 415/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 416/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 417/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 418/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 419/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 420/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 421/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 422/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 423/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 424/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 425/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 426/647

Kelvin Sung

 uilding

Interactive Graphics

 pplications

While most

 

the other chapters in this book discuss the fundamental algorithms

in the field   computer graphics, this chapter treats the integration   these al-

gorithms into applications. This is an important topic since the knowledge  

fundamental graphics algorithms does not always easily lead to an understanding

  the best practices

in

implementing these algorithms in real applications.

 e

start with a simple example: a program that allows the user to simulate the

shooting

 

a ball under the influence

 

gravity). The user can specify initial ve-

locity, create balls   different sizes, shoot the ball, and examine the parabolic free

f ll   the ball. Some fundamental concepts we will need include mesh structure

for the representation   the ball sphere); texture mapping, lighting, and shading

for the aesthetic appearance   the ball; transformations for the trajectories   the

ball; and rasterization techniques for the generation   the images   the balls.

To implement the simple ball shooting program, one also needs knowledge  

• Graphical user interface GU ) systems for efficient and effective user in-

teraction;

• Software architecture and design patterns for crafting an implementation

framework that

is

easy to maintain and expand;

• Application program interfaces APIs) for choosing the appropriate support

and avoiding a massive amount

 

unnecessary coding.

401

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 427/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 428/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 429/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 430/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 431/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 432/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 433/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 434/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 435/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 436/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 437/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 438/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 439/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 440/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 441/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 442/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 443/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 444/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 445/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 446/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 447/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 448/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 449/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 450/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 451/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 452/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 453/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 454/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 455/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 456/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 457/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 458/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 459/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 460/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 461/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 462/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 463/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 464/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 465/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 466/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 467/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 468/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 469/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 470/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 471/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 472/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 473/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 474/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 475/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 476/647

 ight

 n this chapter, we discuss the practical issues   measuring light, usually called

radiometry. The terms that arise in radiometry may at first seem strange and have

terminology and notation that may be hard to keep straight. However, because

radiometry is

so fundamental to computer graphics, it

is

worth studying radiome-

try until it sinks in This chapter also covers photometry, which takes radiometric

quantities and scales them to estimate how much useful light is present. For

example, a green light may seem twice as bright as a blue light   the same power

because the eye

is

more sensitive to green light. Photometry attempts to quantify

such distinctions.

  9 adiometry

Although we can define radiometric units in many systems, we use   Interna-

tional System  

Units) units. Familiar SI units include the metric units   meter

 m and

gram g .

Light

is

fundamentally a propagating form   energy, so it is

useful to define the SI unit   energy, which

is

the

joule  1 .

  9 Photons

To

aid our intuition, we will describe radiometry in terms   collections   large

numbers

 

photons, and this section establishes what is meant by a photon in this

 5

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 477/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 478/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 479/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 480/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 481/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 482/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 483/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 484/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 485/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 486/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 487/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 488/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 489/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 490/647

 o or

 s discussed in Chapter 21, humans have three types   sensors cones) active

at high levels

 

illumination. The signals to these three sensor types determine

the color response

  an

observer. For this reason, color

is

naturally a three

dimensional phenomenon. To quantitatively describe color we need to use a

well-defined coordinate system on that three-dimensional space. In graphics we

usually use red-green-blue RGB) colors to provide such a coordinate system.

However, there are infinitely many such coordinate systems

we

could apply to

the space, and none

 

them is intrinsically superior to any other system. For

specific circumstances, some color systems are better than others. This is analo

gous to having coordinate systems in a city that align with the streets rather than

precise

north south e stlwest

directions. Thus, when we deal with colors, there

are a plethora   acronyms such as CMY, XYZ, HSY, and LUY that stand for

coordinate systems with three named axes. These are hard to keep straight.

 n addition, color

is an

area that involves the physics

 

light entering the eye,

as well as the psychology

 

what happens to that light. The distinction between

what

is

physics, what

is

physiology, and what

is

cognition also tends to be confus

ing. Making matters even more complicated is that some color spaces are oriented

toward display or print technologies, such as CMYK for ink-based printers with

three colored inks plus a black K) ink. To clarify things as much as possible, this

chapter develops color perception from first principles. The discussion may seem

a bit too detailed for the humble RGB color spaces that result, but the subject  

color is intrinsically complex, and simplification

is

dangerous for such a central

topic in graphics.

465

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 491/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 492/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 493/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 494/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 495/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 496/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 497/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 498/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 499/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 500/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 501/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 502/647

William  

ompson

Visual

Perception

The ultimate purpose   computer graphics is to produce images for viewing  y

people. Thus the success

 

a computer graphics system depends on how well it

conveys relevant information to a human observer. The intrinsic complexity   the

physical world and the limitations

 

display devices make it impossible to present

a viewer with the identical patterns   light that would occur when looking at a

natural environment. When the goal

 

a computer graphics system is physical

realism the best we can hope for

is

that the system be perceptu lly effective

displayed images should look as intended. For applications such as technical

illustration it

is

often desirable to visually highlight relevant information and

perceptual effectiveness becomes an explicit requirement.

Artists and illustrators have developed empirically a broad range   tools and

techniques for effectively conveying visual information. One approach to improv-

ing the perceptual effectiveness   computer graphics

is

to utilize these methods

in

our automated systems. A second approach builds directly on knowledge

 

the human vision system by using perceptual effectiveness  s an optimization cri-

teria in the design   computer graphics systems. These two approaches are not

completely d i s ~ i n t Indeed one   the first systematic examinations   visual

perception is found in the notebooks

 

Leonardo da Vinci.

The remainder

 

this chapter provides a partial overview

 

what

is

known

about visual perception

in

people. The emphasis is on aspects   human vision

that are most relevant to computer graphics. The human visual system is ex-

tremely complex in both its operation and its architecture. A chapter such as this

477

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 503/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 504/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 505/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 506/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 507/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 508/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 509/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 510/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 511/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 512/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 513/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 514/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 515/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 516/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 517/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 518/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 519/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 520/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 521/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 522/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 523/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 524/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 525/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 526/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 527/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 528/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 529/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 530/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 531/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 532/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 533/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 534/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 535/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 536/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 537/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 538/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 539/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 540/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 541/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 542/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 543/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 544/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 545/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 546/647

 one

 eproduction

As discussed in Chapter 21, the human visual system adapts to a wide range

o

viewing condit ions. Under normal viewing, we may discern a range

o

around 4

to 5 log units o i llumination, i.e., the ratio between brightest and darkest areas

where we can see detail may be as large as 100, 000 :   Through adaptation

processes, we may adapt to an even larger range o illumination. We call images

that are matched to the capabilities o the human visual system high dyn mic

r nge

Visual simulations routinely produce images with a high dynamic range

 Ward Larson Shakespeare, 1998). Recent developments in image-capturing

techniques allow multiple exposures to be aligned and recombined into a single

high dynamic range image Debevec Malik, 1997). Multiple exposure tech

niques are also available for video.   addit ion, we expect future hardware to be

able to photograph or film high dynamic range scenes directly.   general, we

may think

o

each pixel as a triplet

o

three floating point numbers.

As it is becoming easier to create high dynamic range imagery, the need to

display such data is rapidly increasing. Unfortunately, most current display de

vices, monitors and printers , are only capable

o

displaying around 2 log units

o

dynamic range. We consider such devices to be o low dynamic range. Most

images in existence today are represented with a byte-per-pixel-per-color chan

nel, which is matched to current display devices, rather than to the scenes they

represent.

Typically, low dynamic range images are not able to represent scenes with

out loss

o

information. A  ommon example is an indoor room with an out-

5

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 547/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 548/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 549/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 550/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 551/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 552/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 553/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 554/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 555/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 556/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 557/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 558/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 559/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 560/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 561/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 562/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 563/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 564/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 565/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 566/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 567/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 568/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 569/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 570/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 571/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 572/647

 lobal

 lumination

Many surfaces in the real world receive most or all of their incident light from

other reflective surfaces. This

 s

often called

indirect lighting

or

mutual illumi-

nation For example, the ceilings of most rooms receive little or no illumination

directly from luminaires light emitting objects). The direct and indirect compo-

nents of illumination are shown

 

Figure 23.1.

Although accounting for the interreflection of light between surfaces  s

straightforward,  t  s potentially costly because all surfaces may reflect any given

surface, resulting   as many as O

2

 

interactions for

N

surfaces. Because the

entire global database of objects may illuminate any given object, accounting for

indirect illumination  soften called the

global illumination

problem.

There

 s

a rich and complex literature on solving the global illumination prob-

lem e.g., Appel, 1968; Goral, Torrance, Greenberg, Battaile, 1984; Cook et

 igur 23 1

n

the left and middle images the indirect and direct lighting respectively

are separated out n the right the sum of both components is shown Global illumination

algorithms account for both the direct and the indirect lighting

7

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 573/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 574/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 575/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 576/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 577/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 578/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 579/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 580/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 581/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 582/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 583/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 584/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 585/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 586/647

Reflection

  odels

As

we discussed in Chapter

  9

the reflective properties   a surface can be sum

marized using the BRDF (Nicodemus, Richmond, Hsia, Ginsberg,   Limperis,

1977; Cook   Torrance, 1982).

In

this chapter, we discuss some   the most

visually important aspects   material properties and a few fairly simple models

that are useful in capturing these properties. There are many BRDF models in

use

in

graphics, and the models presented here are meant to give just an idea  

non-diffuse BRDFs.

24

Real World

  aterials

Many real materials have a visible structure at normal viewing distances. For ex

ample, most carpets have easily visible pile that contributes to appearance. For

our purposes, such structure

is

not part   the material property but is, instead, part

  the geometric model. Structure whose details are invisible at normal viewing

distances, but which do determine macroscopic material appearance, are part  

the material property. For example, the fibers in paper have a complex appearance

under magnification, but they are blurred together into an homogeneous appear

ance when viewed at arm's length. This distinction between microstructure that

is folded into BRDF is somewhat arbitrary and depends on what one defines as

 normal viewing distance and visual acuity, but the distinction has proven quite

useful in practice.

In this section we define some categories   materials. Later in the chapter,

we present reflection models that target each type

 

material.

In

the notes at the

 6

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 587/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 588/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 589/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 590/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 591/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 592/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 593/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 594/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 595/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 596/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 597/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 598/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 599/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 600/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 601/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 602/647

Image ased

Rendering

A classic conflict in computer graphics is that between visual realism and the abil-

ity to interact. One attempt to deal with this problem is to use a set

 

captured or

precomputed realistic images and to attempt to interpolate new images for novel

viewpoints Chen

 

Williams, 1993 . This approach is called image based ren-

dering abbreviated fBR.

The basic idea

 

IBR idea is illustrated in 2D for a database

 

two images

in

Figure 25.1. Given two images, we approximate an image as seen from a

 igur

25.1. Given two images as seen from e, and

e

image based rendering can be

used to make   n approximation to the image that would be seen from a new viewpoint e

577

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 603/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 604/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 605/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 606/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 607/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 608/647

 isu liz tion

One of the main application areas

of

computer graphics is visualization where

images are used to aid a user in understanding data Hansen   Johnson, 2005 .

Sometimes this data has a natural geometric component, such as the elevation data

for a region of the Earth. Other data has no obvious geometric meaning, such as

trends in the stock market. This non-geometric data might nonetheless benefit

from a visual representation, because the human visual system is so good at ex

tracting information from images. The crucial part of visualizing non-geometric

data is how the data is mapped to a spatial form. The general area of visualiz

ing non-geometric data

is

called

information visualization

This chapter will re

strict itself to the more well-understood problems of visualizing 2D and 3D scalar

fields, where a scalar data value

is

defined over a continuous region of space.

26

Scalar Fields

For simplicity, assume that our 2D scalar data is defined as

if

x

2

  y2 <  

otherwise,

 26.1

Figure

26.1. A contour

plot for four levels of the

function 1 - x

2

 I

over the square

 x, y E

[ 1

1j

practice, we often have a sampled represen

tation on a rectilinear grid that we interpolate to get a continuous field. We will

ignore that issue in 2D for simplicity.

583

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 609/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 610/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 611/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 612/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 613/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 614/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 615/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 616/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 617/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 618/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 619/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 620/647

 eferen es

Adelson,

E H

1999 . Lightness Perception and Lightness Illusions.

 

M

S.

Gazzaniga Ed. ,

The New Cognitive Neurosciences

 Second ed., pp.

  -

351 . Cambridge, MA: MIT Press.

Akenine-M6IIer,

T

Haines,

E

2002 .

Real Time Rendering

 Second ed. .

Wellesley, MA: A K Peters.

Amanatides, J.,   Woo,

A

1987 . A Fast Voxel Traversal Algorithm for Ray

Tracing.

 

Proceedings   Eurographics  pp. 1-10 . Amsterdam: Elsevier

Science Publishers.

American National Standard Institute. 1986 . Nomenclature and Definitions for

Illumination Engineering.

ANSI Report New York . ANSIIIES RP-16

1986

Angel,

E

2002 .

Interactive Computer Graphics: A Top Down Approach with

OpenGL  Third ed. . Reading, MA: Addison-Wesley.

Appel,

A

1968 . Some Techniques for Shading Machine Renderings

of

Solids.

 

Proceedings

 

the AFlPS Spring Joint Computing Conference  Vol. 32,

pp. 37-45 . AFIPS.

Arvo,

J

1995 . Analytic Methods

  r

Simulated Light Transport. Unpublished

doctoral dissertation.

Ashdown,

I

1994 . Radiosity: A Programmer s Perspective. New York: John

Wiley

 

Sons.

Ashikhmin, M 2002 . A Tone Mapping Algorithm for High Contrast Images.

 

EGRW 02: Proceedings   the

 

3th Eurographics Workshop on Rendering

 pp. 145-155 . Aire-Ia-Ville, Switzerland: Eurographics Association.

595

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 621/647

596

References

Ashikhmin, M., Premoze, S., Shirley,

P

(2000). A Microfacet-Based BRDF

Generator. In

Proceedings

of

SIGGRAPH

(pp. 65-74). Reading, MA:

Addison-Wesley Longman.

Ashikhmin, M., Shirley, P (2000). An Anisotropic Phong BRDF Model.

journal ofgraphics tools,

5(2), 25-32.

Bartels,

R

H., Beatty, J. C., Barsky, B.

A

(1987).

 n

Introduction to Splines

for Use in Computer Graphics and Geometric Modeling.

San Francisco,

CA: Morgan Kaufmann.

Baumgart, B. (1974, October).

Geon1etric Modeling

for

Computer Vision

(Tech.

Rep. No. AIM-249). Palo Alto, CA: Stanford University AI Laboratory.

Bayer, B.

E

(1976).

Color Imaging Array.

(U.S. Patent 3,971,065)

Beck, K., Andres, C. (2004). Extreme Programn1ing Explained: Embrace

Change

(Second ed.). Reading, MA: Addison-Wesley.

Berlin, B., Kay, P (1969).

Basic Color Terms: Their Universality

and

Evolu

tion.

Berkeley, CA: University of California Press.

Blinn, J. (1996).

Jim Blinn s Corner.

San Francisco, CA: Morgan Kaufmann.

Blinn, J., Newell, M. (1978). Clipping Using Homogeneous Coordinates. In

Proceedings ofSIGGR PH  78

(pp. 245-251). New York: ACM Press.

Blinn, J.

F

(1976). Texture and Reflection in Computer Generated Images.

Com

munications of the ACM,

19(10),542-547.

Blinn, J. F (1978). Simulation of Wrinkled Surfaces. In

Proceedings

of

SIG

GR PH  78

(pp. 286-292). New York: ACM Press.

Bresenham, J. E. (1965). Algorithm for Computer Control of a Digital Plotter.

I M

Systelns Journal,

4 1 ,25-30.

Buck,

I.

Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., et al.

(2004). Brook for GPUs: Stream Computing on Graphics Hardware.

 CM

Transactions on Graphics TOG),

23(3), 777-786. (ACM SIGGRAPH

2004)

Buschmann, F Meunier, R., Rohnert, H., Sommerlad, P Stal,

M

(1996).

Pattern-Oriented Software Architecture

(Vols.

1

A System of Patterns).

New York: John Wiley Sons.

Campagna, S., Kobbelt, L., Seidel, H.-P. (1998). Directed Edges-A Scalable

Representation for Triangle Meshes.

journal ofgraphics tools, 3(4), 1-12.

Carr, N A., Hall, J. D., Hart, J. C. (2002). The Ray Engine. In

HWWS

 02: Proceedings

of

the

 CM

SIGGRAPHIEUROGRAPHICS Conference

on Graphics Hardware

(pp. 37-46). Aire-Ia-Ville, Switzerland: Eurograph

ics Association.

Catmull, E. (1975). Computer Display

of

Curved Surfaces. In

IEEE Conference

on Computer Graphics, Pattern Recognition and Data Structures

(pp. 11

17). Los Alamitos, CA: IEEE Press.

Chen,

S

E., Williams, L. (1993). View Interpolation for Image Synthesis. In

SIGGRAPH

 93:

Proceedings of the 20th  nnual Conference on Computer

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 622/647

References

597

Graphics and Interactive Techniques (pp.

279-288).

New York: ACM

Press.

Chiu, K., Herf, M., Shirley, P Swamy, S., Wang, C., Zimmerman, K

(1993).

Spatially Nonuniform Scaling Functions for High Contrast Images. In Pro-

ceedings

of

Graphics Interface  93 (pp.

245-253).

Wellesley, MA: A K

Peters

 

Canadian Human-Computer Communications Society.

Choudhury,

P

Tumblin, J. (2003).

The

Trilateral Filter for High Contrast

Images and Meshes. In EGRW  03: Proceedings of the 14th Eurographics

Workshop on Rendering (pp.

186-196).

Aire-la-Ville, Switzerland: Euro

graphics Association.

Cleary, J., Wyvill, B., Birtwistle, G.,

 

Vatti, R. (1983). A Parallel Ray Tracing

Computer. In Proceedings of the Association of Simula Users Conference

(pp.

77-80).

Cohen, E., Riesenfeld, R. F Elber, G.

(2001).

Geometric Modeling with

Splines:  n

Introduction. Wellesley, MA: A

K

Peters.

Cohen, M.

F

Chen,

S

E., Wallace, J. R., Greenberg, D.

P

(1988).

A Progres

sive Refinement Approach to Fast Radiosi ty Image Generation. In SIG-

GRAPH

 88:

Proceedings

of

the 15th Annual Conference on Computer

Graphics and Interactive Techniques (pp. 75-84). New York: ACM Press.

Cohen, M.

F

Wallace, J. R. (1993).

Radiosity and Realistic Image Synthesis.

Cambridge, MA: Academic Press, Inc.

Comaniciu, D.,   Meer,

P

(2002). Mean Shift: A Robust Approach Toward Fea

ture Space Analysis. IEEE Transactions on Pattern Analysis and Machine

Intelligence

24(5),603-619.

Cook,

R

L.

(1984).

Shade Trees.

Contputer Graphics 18 3 ,223-231.

(SIG

GRAPH

 84)

Cook, R. L., Carpenter, L., Catmull, E. (1987).

The

Reyes Image Rendering

Architecture. SIGGRAPH Comput. Graph.

21(4),95-102.

Cook, R. L., Porter, T.,   Carpenter, L.

(1984).

Distributed Ray Tracing. Com-

puter Graphics

18(3),137-145.

(SIGGRAPH

 84)

Cook, R L., Torrance,

K

E.

(1982).

A Reflectance Model for Computer

Graphics.

  M Transactions on Graphics 1 1 ,7-24.

Coombe, G., Harris, M. J., Lastra, A.

(2004).

Radiosity on Graphics Hardware.

In

GI

 04: Proceedings of the 2004 Conference on Graphics Interface (pp.

161-168).

Wellesley, MA: A K Peters Canadian Human-Computer Com

munications Society.

Crow, F C. (1978). The Use ofGrayscale for Improved Raster Display ofVectors

and Characters. In SIGGRAPH  78: Proceedings of the 5th Annual Con-

ference on Computer Graphics and Interactive Techniques (pp.

1-5).

New

York: ACM Press.

Crowe, M. J. (1994).

A History

of

Vector Analysis.

Mineola,

NY:

Dover.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 623/647

 98 References

Curless, B., Levoy, M. (1996). A Volumetric Method for Building Complex

Models from Range Images. In

Proceedings of SIGGRAPH

96 (pp. 303

312). Reading, MA: Addison-Wesley.

Cyrus, M., Beck, J. (1978). Generalized Two- and Three-Dimensional Clip

ping.

Computers

and

Graphics

3(1),

23-28.

da Vinci, L. (1970). The Notebooks

of

Leonardo da Vinci (Vol. 1). Mineola,

NY:

Dover Press.

Dachsbacher, C., Vogelgsang, C., Stamminger, M. (2003). Sequential Point

Trees.   M

Transactions on Graphics

22(3), 657-662. (SIGGRAPH

2003)

Dana, K

J.,

Ginneken, B. van, Nayar, S. K., Koenderink, J J (1999).

Reflectance and Texture of Real-World Surfaces.   M

Transactions on

Graphics 18 1),1-34.

Debevec, P E., Malik, J. (1997). Recovering High Dynamic Range Radi

ance Maps from Photographs. In

SIGGRAPH  97: Proceedings of the 24th

Annual Conference on Computer Graphics

and Interactive Techniques (pp.

369-378). Reading, MA: Addison-Wesley.

De Boor, C. (1978). A Practical Guide to Splines. Berlin: Springer-Verlag.

De

Boor, C. (2001).

A Practical Guide to Splines.

Berlin: Springer-Verlag.

DeRose,

T

(1989).

A Coordinate-Free Approach to Geometric Programming

(Tech. Rep. No. 89-09-16). Seattle, WA: University ofWashington.

Dobkin, D. P Mitchell, D. P (1993). Random-Edge Discrepancy of Su

persampling Patterns. In

Proceedings of Graphics Interface

(pp. 62-69).

Wellesley, MA: A K Peters   Canadian Human-Computer Communica

tions Society.

Dooley, D.,   Cohen, M. F (1990). Automatic Illustration of 3DGeometric Mod

els: Lines. In

SI3D 90: Proceedings of the 1990 Symposium on Interactive

3D Graphics

(pp.

77-82).

New York: ACM Press.

Doran, C.,   Lasenby, A. (2003).

Geometric Algebra

for

Physicists.

Cambridge,

UK: Cambridge University Press.

Drago,

F

Myszkowski, K., Annen, T., Chiba, N. (2003). Adaptive Logarithmic

Mapping for Displaying High Contrast Scenes. Computer Graphics Forum

22(3),

419-426.

Drebin,

R

A., Carpenter, L.,

 

Hanrahan,

P

(1988). Volume Rendering. Com

puter Graphics

22(4),

64-75.

(SIGGRAPH

 8 8)

Durand, F Dorsey,

J

(2002). Fast Bilateral Filtering for the Display of High

Dynamic-Range Images.   M

Transactions on Graphics 21 3),257-266.

Dutre, P Bala, K., Bekaert, P (2002).

Advanced Global Illumination.

Welles

ley, MA: A K Peters.

Eberly, D. (2000).

3D Game Engine Design: A Practical Approach to Real-Time

Computer Graphics. San Francisco, CA: Morgan Kaufmann.

Eberly, D. (2004).

3D Game Engine Architecture: Engineering Real-Time Appli

cations with Wild Magic.

San Francisco, CA: Morgan Kaufmann.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 624/647

References  99

Eckman, P Friesen,

W

V

(1978).

Facial Action Coding System. Palo Alto,

CA: Consulting Psychologists Press.

Ershov, S., Kolchin, K., Myszkowski, K

(2001).

Rendering Pearlescent Ap

pearance Based on Paint-Composition Modelling.

Computer Graphics

  -

rum, 20(3), 227-238.

Fairchild,

M

D. (2005). Color Appearance Models (Second ed.). New York:

John Wiley Sons.

Fairchild, M D.,

 

Johnson, G. M.

(2002).

Meet iCAM: An Image Color Ap

pearance Model. In

IS TISID 10th Color Imaging Conference

(pp.

33-38).

Springfield,

VA:

Society for Imaging Science Technology.

Fairchild, M D., Johnson, G M.

(2004).

The iCAM Framework for Image

Appearance, Image Differences, and Image Quality. Journal ofElectronic

Imaging,

13 126 138.

Farin, G

(2002).

Curves and Surfaces for CAGD: A Practical Guide.

San

Francisco, CA: Morgan Kaufmann.

Farin, G., Hansford, D.

(2004).

Practical Linear Algebra: A Geometry Tool

box. Wellesley, MA: A K Peters.

Farin, G., Hoschek, J., Kim, M.-S. (Eds.).

(2002).

Handbook

of

Computer

Aided Geometric Design. Amsterdam: Elsevier.

Fattal, R., Lischinski, D., Werman, M.

(2002).

Gradient Domain High Dynamic

Range Compression.   M Transactions on Graphics,

21(3), 249-256.

Fernando, R (Ed.).

(2004).

GPU Gems: Programming Techniques, Tips, and

Tricks

for

Real-Time Graphics.

Reading, MA: Addison-Wesley.

Fernando, R., Killgard, M. J.

(2003).

The Cg Tutorial: The Definitive Guide

to Programmable Real-Time Graphics.

Reading, MA: Addison-Wesley.

Ferwerda, J A., Pattanaik, S., Shirley, P Greenberg, D. P

(1996).

A Model

of

Visual Adaptation for Realistic Image Synthesis. In

SIGGRAPH 96:

Proceedings

of

the 23rd Annual Conference on Computer Graphics and

Interactive Techniques (pp.

249-258).

New York: ACM Press.

Ferwerda, J. A., Shirley, P Pattanaik, S. N., Greenberg, D.

P

(1997).

A

Model of Visual Masking for Computer Graphics. In SIGGRAPH 97:

Proceedings of the 24th Annual Conference on Computer Graphics and

Interactive Techniques (pp.

143-152).

Reading, MA: Addison-Wesley.

Foley,

J

D., Van Dam, A., Feiner,

S

K.,

 

Hughes, J.

F (1990). Computer

Graphics: Principles and Practice (Second ed.). Reading, MA: Addison

Wesley.

Forsyth, D

A., Ponce, J.

(2002).

Computer Vision: A Modern Approach.

Englewoods Cliffs, NJ: Prentice Hall.

Francis

S

Hill,

J

(2000).

Computer Graphics Using OpenGL

(Second ed.).

Englewood Cliffs, NJ: Prentice Hall.

Fuchs, H., Kedem, Z. M., Naylor, B.

F (1980).

On Visible Surface Gener

ation by A Priori Tree Structures. Computer Graphics,

14(3), 124-133.

(SIGGRAPH

 80)

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 625/647

6

References

Fujimoto, A., Tanaka, T., Iwata, K

(1986).

ARTSccelerated Ray-Tracing

System.

IEEE Computer Graphics   Applications,

6(4), 16-26.

Gamma, E., Helm, R., Johnson, R., Vlissides, J.

(1995). Design Patterns-

Elements

of

Reusable Object-Oriented Software.

Reading, MA: Addison

Wesley.

Garrity, M.

P

(1990). Raytracing Irregular Volume Data. In VVS 90: Proceed

ings of the 1990 Workshop on Volume Visualization

(pp.

35-40).

New

York:

ACM Press.

Gibson, J. J.

(1950).

The Perception

of

the Visual World.

Cambridge, MA:

Riverside Press.

Gilchrist, A. L., Kossyfidis,

C

Bonato, F Agostini,

T

Cataliotti, J., Li, X., et

al.

(1999).

An Anchoring Theory   Lightness Perception. Psychological

Review, 106 4),795-834.

Glassner, A.

(1984).

Space Subdivision for Fast Ray Tracing. IEEE Computer

Graphics   Applications,

4(10), 15-22.

Glassner, A. (1988). Spacetime Ray Tracing for Animation. IEEE Computer

Graphics   Applications,

8(2), 60-70.

Glassner, A. (Ed.).

(1989).

 n Introduction to Ray Tracing.

London: Academic

Press.

Glassner, A.

(1995).

Principles ofDigital Image Synthesis.

San Francisco, CA:

Morgan Kaufmann.

Goldberg, A., Robson,

D

(1989).

Smalltalk-80: The Language. Reading, MA:

Addison-Wesley.

Goldman, R

(1985).

Illicit Expressions in Vector Algebra.   M Transactions

on Graphics, 4(3), 223-243.

Goldsmith, J., Salmon, J. (1987). Automatic Creation

 

Object Hierarchies

for Ray Tracing.

IEEE Computer Graphics   Applications,

7(5), 14-20.

Gooch, A., Gooch, B., Shirley,

P

Cohen, E

(1998).

A Non-Photorealistic

Lighting Model for Automatic Technical Illustration.

In SIGGRAPH 98:

Proceedings

of

the 25th Annual Conference on Conlputer Graphics and

Interactive Techniques

(pp.

447-452).

New York: ACM Press.

Goral, C. M., Torrance,

K

E., Greenberg, D P Battaile, B.

(1984).

Modeling

the Interaction

 

Light between Diffuse Surfaces.

Computer Graphics,

18(3),213-222.

(SIGGRAPH

 84)

Gortler, S J., Grzeszczuk, R., Szeliski, R., Cohen, M

F (1996).

The Lumi

graph. In SIGGRAPH  96: Proceedings

of

the 23rd Annual Conference on

Computer Graphics and Interactive Techniques

(pp.

43-54).

New

York:

ACM Press.

Gouraud, H

(1971).

Continuous Shading   Curved Surfaces. Communications

of the ACM, 18(6),623-629.

Gregory, R. L.

(1997).

Eye and Brain: The Psychology

of

Seeing (Fifth ed.).

Princeton, NJ: Princeton University Press.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 626/647

 eferen es 6

Hammersley, J., Handscomb, D.

(1964). Monte-Carlo Methods.

London:

Methuen.

Hanrahan, P Lawson, J

(1990).

A Language for Shading and Lighting Calcu

lations. In SIGGRAPH 90: Proceedings of the 17th Annual Conference on

Computer Graphics and Interactive Techniques (pp. 289-298). New York:

ACM Press.

Hansen, C. D., Johnson, C. R (Eds.).

(2005).

The Visualization Handbook.

Amsterdam: Elsevier.

Hanson,

A J

(2005). Visualizing Quaternions. San Francisco, CA: Morgan

Kaufmann.

Harris, M.

J

(2004). Fast Fluid Dynamics Simulation on the GPU. In GPU

Gems: Programming Techniques Tips and Tricksfor Real-Time Graphics

(chap.

38).

Reading, MA: Addison-Wesley.

Harris,

M

J., Baxter, W V Scheuermann, T., Lastra, A. (2003). Simulation of

Cloud Dynamics on Graphics Hardware. In

HWWS 03: Proceedings of the

  M SIGGRAPHIEUROGRAPHICS Conference on Graphics Hardware

(pp.

92-101).

Aire-Ia-Ville, Switzerland: Eurographics Association.

Hausner, M. (1998). A Vector Space Approach to Geometry. Mineola, NY: Dover.

Havran, V

(2000).

Heuristic Ray Shooting Algorithms. Unpublished doctoral

dissertation, Czech Technical University in Prague.

He, X D., Heynen, P.O., Phillips, R L., Torrance, K E., Salesin, D. H.,

Greenberg, D P

(1992).

A Fast and Accurate Light Reflection Model.

Computer Graphics 26(2), 253-254. (SIGGRAPH  92)

Hearn, D., Baker, M. P

(1986). Computer Graphics.

Englewood Cliffs, N.J.:

Prentice Hall.

Heidrich, W Seidel, H.-P. (

1998).

Ray-Tracing Procedural Displacement

Shaders. In Proceedings o.fGraphics Inteiface (pp. 8-16). Wellesley, MA:

A K Peters Canadian Human-Computer Communications Society.

Hoffmann,

B

(1975). About Vectors.

Mineola, NY: Dover.

Hood, D. C Finkelstein, M. A., Buckingham, E. (1979). Psychophysical Tests

of

Models

of

the Response Function.

Vision Research 19,401-406.

Hoppe, H

(1994). Suiface Reconstruction from Unorganized Points.

Unpub

lished doctoral dissertation.

Hoppe, H

(1999).

Optimization

of

Mesh Locality for Transparent Vertex

Caching. In SIGGRAPH  99: Proceedings

of

the 26th Annual Conference

on Computer Graphics

and

Interactive Techniques

(pp.

269-276).

Reading,

MA: Addison-Wesley.

Hom, B.

K

P

(1974).

Determining Lightness from an Image.

CVGIP

3,277

299.

Hughes, J F Moller,

T (1999).

Building an Orthonormal Basis from a Unit

Vector.

journal ofgraphics tools

4 4 ,33-35.

Hunt, R W G. (2004). The Reproduction of Color. New York: John Wiley

Sons. (Sixth)

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 627/647

602

 eferences

IEEE Standards Association. (1985).

IEEE Standard

for

Binary Floating-Point

Arithmetic (Tech. Rep.). IEEE Report (New York). (ANSI/IEEE Std

754-1985)

Immel, D. S., Cohen, M. F Greenberg, D. P (1986). A Radiosity Method for

Non-Diffuse Environments.

Computer Graphics, 20 4),

133-142. (SIG

GRAPH 86)

Interrante, V Grosch, C. (1997). Strategies for Effectively Visualizing 3D

~ w with Volume LIC. In VIS

 97:

Proceedings

of

the 8th Conference on

Visualization

 97

(pp. 421-ff.). Los Alamitos, CA: IEEE Computer Society

Press.

lTV. (1990).

International Telecommunication Union ITU-R Recommendation

BT.709, Basic Parameter Valuesfor the HDTV Standardfor the Studio and

for International Programme Exchange. Geneva. (Formerly CCIR Rec.

709)

Jackson, R., MacDonald, L., Freeman, K (1994).

Computer Generated

Colour: A Practical Guide to Presentation and Display. New York: John

Wiley Sons.

Jansen, F

W

(1986). Data Structures for Ray Tracing. In Proceedings of a

Workshop Eurographics Seminars on Data Structures for Raster Graphics

(pp. 57-73). New York: Springer-Verlag.

Jensen, H

W

(2001).

Realistic Image Synthesis Using Photon Mapping.

Welles

ley, MA: A K Peters.

Jensen, H.

W

Marschner, S. R., Levoy, M., Hanrahan, P (2001). A Practical

Model for Subsurface Light Transport. In Proceedings

of

SIGGRAPH2001

(pp. 511-518). Reading, MA: Addison-Wesley.

Johansson,

G

(1973). Visual Perception

of

Biological Motion and a Model for

Its Analysis.

Perception   Psychophysics, 14,201-211.

Johnson, G. M., Fairchild, M. D (2003). Rendering HDR Images. In 1S TISID

11th Color Imaging Conference (pp. 36--41). Springfield, VA: Society for

Imaging Science Technology.

Kainz, F Bogart, R., Hess, D. (2003). The OpenEXR Image File Format. In

SIGGRAPH Technical Sketches. (see also: http://www.openexr.com/)

Kajiya, J T (1986). The Rendering Equation. Computer Graphics, 20 4 ,143-

150. (SIGGRAPH 86)

Kalos, M., Whitlock, P (1986). Monte Carlo Methods, Basics. New York:

Wiley-Interscience.

Kay, D. S., Greenberg, D. (1979). Transparency for Computer Synthesized

Images.

Computer Graphics, 13 2 ,158-164.

(SIGGRAPH 79)

Kernighan, B. W Pike, R. (1999). The Practice

of

Programming. Reading,

MA: Addison-Wesley.

Kersten, D., Mamassian, P Knill, D. C. (1997). Moving Cast Shadows Induce

Apparent Motion in Depth.

Perception,

26(2), 171-192.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 628/647

References 6

Kindlmann, G., Reinhard, E., Creem, S. (2002). Face-Based Luminance

Matching for Perceptual Colormap Generation. In

VIS 02: Proceedings

of the Conference on Visualization 02 (pp. 299-306). Washington, DC:

IEEE Computer Society.

Kindlmann, G., Weinstein, D., Hart, D. (2000). Strategies for Direct Volume

Rendering

of

Diffusion Tensor Fields.

IEEE Transactions on Visualization

and Conlputer Graphics, 6(2), 124-138.

Kirk, D., Arvo,

J

(1988). The Ray Tracing Kernel. In

Proceedings of Aus

graph.

Klatzky, R

L

(1998). Allocentric and Egocentric Spatial Representations: Defi

nitions, Distinctions, and Interconnections. In C. Freksa, C. Habel, K

F

Wender (Eds.), Spatial Cognition n Interdiciplinary Approach to Repre

sentation and Processing of Spatial Knowledge

(Vol. 5, pp. 1-17). Berlin:

Springer-Verlag.

Knill, D C. (1998). Surface Orientation From Texture: Ideal Observers, Generic

Observers and the Information Content

of

Texture Cues.

Vision Research,

38, 1655-1682.

Kollig,

T

Keller, A. (2002). Efficient Multidimensional Sampling.

Computer

Graphics Forum, 21(3), 557-564.

Lacroute, P Levoy, M. (1994). Fast Volume Rendering Using a Shear

Warp Factorization of the Viewing Transformation. In Proceedings ofSIG

GRAPH

94 (pp. 451-458). New York: ACM Press.

Lafortune, E P

F

Foo, S.-C., Torrance, K E., Greenberg, D P (1997).

Non-Linear Approximation of Reflectance Functions. In Proceedings of

SIGGRAPH  97

(pp. 117-126). Reading, MA: Addison-Wesley.

Lakos, J (1996). Large-Scale C++ Software Design. Reading, MA: Addison

Wesley.

Larson, G W Rushmeier, H., Piatko, C. (1997). A Visibility Matching Tone

Reproduction Operator for High Dynamic Range Scenes.

IEEE Transac

tions on Visualization and Computer Graphics,

3(4), 291-306.

Lasseter, J (1987). Principles

of

Traditional Animation Applied to 3D Computer

Animation.

Computer Graphics,

21(4),

35 44.

(SIGGRAPH 87)

Lastra, A., Molnar, S., Olano, M., Wang, Y (1995). Real-Time Programmable

Shading. In

SI3D

 95:

Proceedings of the

1995

Symposium on Interactive

3D Graphics (pp. 59-66). New York: ACM Press.

Laur, D., Hanrahan, P (1991). Hierarchical Splatting: A Progressive Re

finement Algorithm for Volume Rendering.

Computer Graphics, 25 4),

285-288. (SIGGRAPH 91)

Lawrence, J., Rusinkiewicz, S., Ramamoorthi,

R

(2004). Efficient

BRDF

Importance Sampling Using a Factored Representation.   CMTransactions

on Graphics,

23(3), 496-505. (SIGGRAPH 04)

Lee, D N., Reddish,

P

(1981). Plummeting Gannets: A Paradigm of Ecologi

cal Optics. Nature, 293, 293-294.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 629/647

6 4

References

Lefohn, A., Kniss, J.,   Owens, J. (2005). Implementing Efficient Paral

lel Data Structures on GPUs. In GPU Gems 2: Programming  e h-

niquesfor

High-Performance Graphics

and

General Purpose Computation

(chap. 33). Reading, MA: Addison-Wesley.

Lefohn, A. E., Kniss, J. M., Hansen, C. D.,   Whitaker, R. T. (2003). Interac

tive Deformation and Visualization

of

Level Set Surfaces Using Graphics

Hardware. In IEEE Visualization (pp. 75-82). Los Alamitos, CA: IEEE

Press.

Leung, T.,   Malik, J. (1997). On Perpendicular Texture: Why Do We See More

Flowers in the Distance? In Proc. IEEE Conference on Computer Vision

and Pattern Recognition (pp. 807-813). Los Alamitos, CA: IEEE Press.

Levoy, M. (1988). Display of

Surfaces from Volume Data.

IEEE Computer

Graphics

 

Applications 8(3), 29-37.

Levoy, M. (1990). Efficient Ray Tracing of Volume Data.   M Transactions on

Graphics 9(3), 245-261.

Levoy, M.,   Hanrahan, P. (1996). Light Field Rendering. In SIGGRAPH 96:

Proceedings

of

the 23rd Annual Conference on Computer Graphics and

Interactive Techniques (pp. 31-42). New York: ACM Press.

Lewis, R. R. (1994). Making Shaders More Physically Plausible. Computer

Graphics Forum 13(2), 109-120.

Liang, Y.-D.,   Barsky, B. A. (1984). A New Concept and Method for Line

Clipping.

  M

Transactions on Graphics 3(1),

1-22.

Lin, C.-C.,   Ching, Y. T. (1996). An Efficient Volume-Rendering Algorithm

with an Analytic Approach. The Visual Computer 12 10),515-526.

Livnat, Y. Shen, H.-W.,   Johnson, C. R. (1996). A Near Optimal Isosurface

Extraction Algorithm Using the Span Space. IEEE Transactions on Visual

ization and Computer Graphics 2(1), 73-84.

Lorensen,

W.

E., Cline, H. E. (1987). Marching Cubes: A High Resolution

3D Surface Construction Algorithm. Computer Graphics 21(4), 163-169.

(SIGGRAPH  8 7)

Malley, T. (1988). A Shading

Methodfor

Computer Generated Images. Unpub

lished master s thesis, Computer Science Department, University of Utah.

Marshall, J. A., Burbeck, C. A., Arely, D., Rolland, J.

P. Martin,

K.

E. (1999).

Occlusion Edge Blur: A Cu e to Relat ive Visual Depth. Journal of the

Optical Society ofAmerica A 13, 681-688.

Matusik, W., Pfister, H., Brand, M.,   McMillan, L. (2003). A Data-Driven Re

flectance Model.   M Transactions on Graphics 22(3), 759-769. (SIG

G RA PH 0 3)

Max, N. (1995). Optical Models for Direct Volume Rendering. IEEE Transac

tions on Visualization

and

Computer Graphics

1(2), 99-108.

McCool, M., Du Toit, S., Popa, T., Chan, B.,   Moule, K. (2004). Shader

Algebra.   M

Transactions on Graphics

23(3), 787-795. (SIGGRAPH

 04)

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 630/647

References 605

Meyer, G. W. Greenberg, D. P. (1988). Color-Defective Vision and Computer

Graphics Displays. IEEE Computer Graphics   Applications,

8(9), 28-40.

Meyers, S. (1995). More Effective C++:

35

New Ways to Improve Your Programs

and Designs. Reading, MA: Addison-Wesley.

Meyers, S.

(1997).

Effective C++: 5 Specific Ways to Improve Your Programs

and Designs

(Second ed.). Reading, MA: Addison-Wesley.

Mitchell, D. P.

(1996).

Consequences of Stratified Sampling in Graphics. In

SIGGRAPH

 96:

Proceedings

of

the 23rd Annual Conference on Computer

Graphics and Interactive Techniques (pp.

277-280).

New York: ACM

Press.

Mitchell, D. P. Netravali,

A.

N.

(1988).

Reconstruction Filters in Computer

Graphics. Computer Graphics, 22(4),221-228.

Moller,

T.

Haines,

E. (1999).

Real-Time Rendering. Wellesley, MA: A

K

Peters.

Moller, T. Hughes, J. (1999). Efficiently Building a Matrix to Rotate One

Vector to Another.

journal

of

graphics tools,

4(4), 1-4.

Molnar, S., Eyles, J.,   Poulton, J. (1992). Pixelflow: High-Speed Rendering

Using Image Composition. Computer Graphics,

26(2), 231-240.

(SIG

GRAPH 92)

Mortenson,

M. (1985).

Geometric Modeling. New York: John Wiley

 

Sons.

Muuss, M. J.

(1995).

Towards Real-Time Ray-Tracing of Combinatorial Solid

Geometric Models. In Proceedings ofBRL-CAD Symposium.

Nicodemus, F. E., Richmond, J. C., Hsia, J. J., Ginsberg, I. Limperis, T.

 1977 . Geometrical Considerations and Nomenclatture

for

Reflectance

(Tech. Rep. No.

160).

Washington, D.C.: National Bureau of Standards.

Nielson,

G. M.

(2003). On Marching Cubes.

IEEE Transactions on Visualization

and Computer Graphics,

9(3),283-297.

Olano, M.,

 

Lastra,

A. (1998).

A Shading Language on Graphics Hardware: The

Pixelflow Shading System. In

SIGGRAPH

 98:

Proceedings of the 25th

Annual Conference on Computer Graphics

and

Interactive Techniques (pp.

159-168).

New York: ACM Press.

Oppenheim,

A.

V.

Schafer, R.,

 

Stockham, T.

(1968).

Nonlinear Filtering of

Multiplied and Convolved Signals. Proceedings of the IEEE, 56(8),   64-

1291.

Oren, M.,   Nayar, S. K. (1994). Generalization

of

Lambert s Reflectance Model.

In

Proceedings

of

SIGGRAPH

 94 (pp. 239-246). New York: ACM Press.

Osterberg,

G. (1935).

Topography of the Layer of Rods and Cones in the Human

Retina.

Acta Ophthalmologica,

6( 1 11-97. (Supplement)

Paeth,

A.

W.

(1990).

A Fast Algorithm for General Raster Rotation. In Graphics

 en S (pp. 179-195). Boston, MA: Academic Press.

Palmer, S.

E. (1999).

Vision Science Photons to Phenomenology. Cambridge,

MA: MIT Press.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 631/647

606  eferences

Parker, S., Martin, W., Sloan,

P.

Shirley,

P.

Smits, B.,

 

Hansen, C. 1999).

Interactive Ray Tracing. In

ACM

Symposium on Interactive 3D Graphics

  pp.119-126). New York:

ACMPress.

Parker, S., Parker, M., Livnat, Y. Sloan, P. P. Hansen, C.,   Shirley,

P.

  1999).

Interactive Ray Tracing for Volume Visualization. In IEEE Transactions

on Visualization

and

Computer Graphics   Vol. 5).

Pashler, H. E. 1998). The Psychology ofAttention. Cambridge, MA: MIT Press.

Pattanaik, S. N., Ferwerda, J. A., Fairchild, M. D.,   Greenberg, D. P.   1998).

A Multiscale Model

of

Adaptation and Spatial Vision for Realistic Image

Display. In SIGGRAPH  98: Proceedings

of

the 25th Annual Conference

on Computer Graphics and Interactive Techniques   pp. 287-298). New

York: ACM Press.

Pattanaik, S. N.,   Yee, H. 2002). Adaptive Gain Control for High Dynamic

Range Image Display. In SCCG 02: Proceedings of the 18th Spring Con

ference on Computer Graphics   pp. 83-87). New York: ACM Press.

Patterson, J., Hoggar, S.,

 

Logie, J. 1991). Inverse Displacement Mapping.

Computer Graphics Forum, 10 2 ,129-139.

Peachey, D. R.   1985). Solid Texturingof Complex Surfaces. Computer Graph

ics,

19 3), 279-286. SIGGRAPH

 85)

Peercy, M. S., Olano, M., Airey, J.,   Ungar, P. J.   2000). Interactive Multi

Pass Programmable Shading. In SIGGRAPH 00: Proceedings of the 27th

Annual Conference on Computer Graphics and Interactive Techniques   pp.

425-432).

Reading, MA: Addison-Wesley.

Penna, M.,   Patterson, R.   1986). Projective Geometry and Its Applications to

Computer Graphics. Englewood Cliffs, NJ: Prentice Hall.

Perlin,

K.

  1985). An Image Synthesizer. Computer Graphics, 19 3), 287-296.

  SIGGRAPH  85)

Perlin, K.,   Hoffert, E. M. 1989). Hypertexture. Computer Graphics, 23(3),

253-262. SIGGRAPH  89)

Pfister, H., Lorensen, B., Bajaj, C., Kindlmann, G., Schroeder, W., Avila, L. S., et

al. 2001). The Transfer Function Bake-Off. IEEE Computer Graphics  

Applications, 21 3), 16-22.

Pharr, M.,   Fernando, R.   Eds.). 2005). GPU Gems 2: Programming  e h-

niques for High-Performance Graphics and General Purpose Computa

tion.

Reading, MA: Addison-Wesley.

Pharr, M.,

 

Hanrahan,

P.

  1996). Geometry Caching for Ray-Tracing Displace

ment Maps. In Proceedings of the Eurographics Workshop on Rendering

Techniques   96 pp.

31-40).

London, UK: Springer-Verlag.

Pharr, M.,   Humphreys, G. 2004). Physically Based Rendering. San Francisco,

CA: Morgan Kaufmann.

Pharr, M., Kolb, C., Gershbein, R.,   Hanrahan, P.   1997). Rendering Complex

Scenes with Memory-Coherent Ray Tracing. In SIGGRAPH  97: Proceed-

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 632/647

References

607

ings

of

the 24th Annual Conference on

Computer

Graphics

and

Interactive

Techniques

  pp. 101-108). Reading, MA: Addison-Wesley.

Phong, B.-T.   1975). Illumination for Computer Generated Images. Communica-

tions of the ACM,

18 6), 311-317.

Pineda, J.   1988). A Parallel Algorithm for Polygon Rasterization. Computer

Graphics,

22 4), 17-20. SIGGRAPH 88)

Pitteway,

M. L. V.

  1967). Algorithm for Drawing Ellipses or Hyperbolae with a

Digital Plotter.

Computer Journal, 10 3 ,282-289.

Pixar. 2000).

The RenderMan Inteiface Specification.

Emeryville, CA.

Plauger, P. J.   1991). The Standard C Library. Englewood Cliffs, NJ: Prentice

Hall.

Porter,

T.

Duff,

T.

  1984). Compositing Digital Images. In

SIGGRAPH  84:

Proceedings of the 11th

Annual

Conference on Computer Graphics and

Interactive Techniques   pp. 253-259). New York: ACM Press.

Press, W. H., Teukolsky,

S.

A., Vetterling,

W. T.

Flannery,

B. P.

  1992). Nu-

merical Recipes in

C:

The

Art

of

Scientific Computing

  Second ed.). Cam

bridge, UK: Cambridge University Press.

Prosise,

J.

  1999).

Programming Windows with MFC

  Second ed.). Microsoft

Press.

Proudfoot, K., Mark,

W.

R., Tzvetkov, S.,

 

Hanrahan,

P.

  2001). A Real-Time

Procedural Shading System for Programmable Graphics Hardware. In SIG-

GRAPH  01: Proceedings of the 2 8t h Annual Conference on Computer

Graphics and Interactive Techniques

  pp. 159-170). New York: ACM

Press.

Purcell,

T.

J., Buck, I. Mark,

W.

R.,   Hanrahan,

P.

  2002). Ray Tracing on

Programmable Graphics Hardware.

ACM

Transactions on Graphics, 21 3),

703-712. SIGGRAPH 02)

Rahman, Z., Jobson, D. J.,

 

Woodell, G.

A.

  1996). A Multiscale Retinex for

Color Rendition and Dynamic Range Compression. In SPIE Proceedings:

Applications of Digital Image Processing XIX  Vol.

2847). Bellingham,

WA:

SPIE.

Rea,

M. S.

  Ed.). 1993).

The Illumination Engineering Society Lighting Hand-

book   8th ed.). New York: Illumination Engineering Society.

Reeves, W.

T.

  1983). Particle Systems-A Technique for Modeling a Class

of

Fuzzy Objects. ACM Transactions on Graphics, 2 2), 91-108.

Reinhard,

E.

  2003). Parameter Estimation for Photographic Tone Reproduction.

journal ofgraphics tools, 7 1 ,45-51.

Reinhard, E., Ashikhmin, M., Gooch, B.,   Shirley,

P.

  2001). Color Transfer

Between Images.

IEEE Computer Graphics and Applications,

21, 34-41.

Reinhard, E.,

  Devlin,

K.

  2005). Dynamic Range Reduction Inspired by Pho

toreceptor Physiology.

IEEE Transactions on Visualization and Computer

Graphics, 11 1), 13-24.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 633/647

6 8

References

Reinhard, E., Stark, M., Shirley,

P

Ferwerda, J. (2002). Photographic Tone

Reproduction for Digital Images.   M

Transactions on Graphics, 21 3),

267-276. (SIGGRAPH 02)

Reinhard, E., Ward, G., Debevec, P Pattanaik, S (2005).

High Dynamic

Range Imaging.

San Francisco: Morgan Kaufmann.

Reynolds, C.

W

(1987). Flocks, Herds and Schools: A Distributed Behavioral

Model.

Computer Graphics,

21(4), 25-34. (SIGGRAPH 87)

Riesenfeld, R

F

(1981, January). Homogeneous Coordinates and Projective

Planes in Conlputer Graphics.

IEEE Computer Graphics

 

Applications,

1 1 ,50-55.

Roberts, L (1965, May).

Homogenous Matrix Representation and Manipulation

ofN-Dimensional Constructs

(Tech. Rep. No. MS-1505). Lexington, MA:

MIT Lincoln Laboratory.

Rogers, D.

F

(1985).

Procedural Elements

for

Computer Graphics.

New

York:

McGraw Hill.

Rogers, D

F

(1989).

Mathematical Elements

for

Computer Graphics.

New York:

McGraw Hill.

Rogers, D.

F

(2000).

 n Introduction to NURBS: With Historical Perspective.

San Francisco, CA: Morgan Kaufmann.

Rogers, S. (1995). Perceiving Pictorial Space. In W Epstein S Rogers (Eds.),

Perception

of

Space and Motion

(Vol. 5, pp. 119-163). San Diego: Aca

demic Press.

Rost, R.

J

(2004).

OpenGL Shading Language.

Reading, MA: Addison Wesley.

Roth,

S

(1982). Ray Casting for Modelling Solids.

Computer Graphics and

Image Processing,

18(2), 109-144.

Rubin, S M., Whitted,

T

(1980). A 3-Dimensional Representation for Fast

Rendering

of

Complex Scenes.

Computer Graphics,

14(3), 110-116. (SIG

GRAPH 80)

Ruderman, D L., Cronin, T W Chiao, C. (1998). Statistics ofCone Responses

to Natural Images: Implications for Visual Coding.  

Opt. Soc. Am. A,

15(8), 2036-2045.

Rusinkiewicz, S., Levoy, M. (2000). QSplat: A Multiresolution Point Render

ing System for Large Meshes. In

SIGGRAPH 00: Proceedings

of

the 27th

Annual Conference on Computer Graphics and Interactive Techniques

(pp.

343-352). Reading, MA: Addison-Wesley.

Sabella,

P

(1988). A Rendering Algorithm for Visualizing 3D Scalar Fields.

Computer Graphics,

22(4),

51-58.

(SIGGRAPH 88)

Saito, T., Takahashi,

T

(1990). Comprehensible Rendering

of

3-D Shapes.

Computer Graphics,

24(4), 197-206. (SIGGRAPH 90)

Salomon, D. (1999).

Computer Graphics and Geometric Modeling.

New York:

Springer-Verlag.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 634/647

 eferences

609

Sbert, M 1997). The Use ofGlobal Random Directions to Compute Radiosity

Global Monte Carlo Techniques

PhD. thesis, Universitat Politenica de

Catalunya.

Schlick, C 1994a). An Inexpensive BRDF Model for Physically-Based Render

ing.

Computer Graphics Forum

13 3), 233-246.

Schlick,

C

1994b). Quantization Techniques for the Visualization

 

High Dy

namic Range Pictures. In P Shirley, G. Sakas,   S Muller Eds.),

Photo-

realistic Rendering Techniques

  pp. 7-20). Berlin: Springer-Verlag.

Schwarze, J 1990). Cubic and Quartic Roots. In pp. 404--407). San Diego,

CA: Academic Press Professional, Inc.

Sederberg, T

W

Parry, S R 1986). Free-Form Deformation

 

Solid Geo

metric Models.

Computer Graphics

20 4 ,151-160.   SIGGRAPH 86)

Seetzen, H., Heidrich,

W

Stuerzlinger, W Ward, G., Whitehead, L., Trenta

coste, M., et al. 2004). High Dynamic Range Display Systems.

  M

Transactions on Graphics

23 3), 760-768. SIGGRAPH 04)

Seetzen, H., Whitehead, L A.,   Ward, G 2003). A High Dynamic Range

Display Using Low and High Resolution Modulators. In

The Society

for

Information Display International Symposium San Jose, CA: Society for

Information Display.

Segal, M., Korobkin, C., Widenfelt, R van, Foran, J.,

 

Haeberli, P 1992).

Fast Shadows and Lighting Effects Using Texture Mapping.

Computer

Graphics

26 2), 249-252. SIGGRAPH 92)

Shannon, C E.,

 

Weaver, W 1964). The Mathematical Theory ofCommunica-

tion

Urbana, IL: University   Illinois Press.

Shene, C.-K. 2003). CS 3621 Introduction to Computing

with Geometry Notes

Available from World Wide Web

http://www.cs.mtu.edu/ shene/COURSES/cs3621

 

OTES/notes.html)

Shirley,

P

1991).

Physically Based Lighting Calculationsfor Computer Graph-

ics

Unpublished doctoral dissertation, University   Illinois, Urbana

Champaign.

Shirley, P Smits, B., Hu, H.,   Lafortune, E 1997). A Practitioners As

sessment

 

Light Reflection Models. In PG

 97:

Proceedings of the 5th

Pacific Conference on Computer Graphics and Applications   pp. 40-49).

Los Alamitos, CA: IEEE Computer Society.

Shirley, P Wang, C.,

 

Zimmerman,

K

1996). Monte Carlo Techniques for

Direct Lighting Calculations.   M

Transactions on Graphics

15 1), 1-36.

Shreiner, D Ed.). 2004). OpenGL Reference Manual: The Official Reference

Document

to

OpenGL Version

1.4 Fourth ed.). Reading, MA: Addison

Wesley.

Shreiner, D., Neider, J., Woo, M.,   Davis, T 2004).

OpenGL Programming

Guide

  Fourth ed.). Reading, MA: Addison-Wesley.

Sillion, F X.,

 

Puech, C. 1994). Radiosity and Global Illumination San

Francisco, California: Morgan Kaufmann Publishers, Inc.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 635/647

610

References

Smits,

B

E., Shirley, P Stark, M. M.

  2000).

Direct Ray Tracing of Displace

ment Mapped Triangles. In

Proceedings of the Eurographics Workshop on

Rendering Techniques 2000   pp.

307-318).

London, UK: Springer-Verlag.

Snyder, J. M.,   Barr, A. H.

  1987).

Ray Tracing Complex Models Containing

Surface Tessellations.

Computer Graphics, 21 4), 119-128.   SIGGRAPH

 87)

Sobel,

I.

Stone, J.,

 

Messer, R.

  1975). The Monte Carlo Method.

Chicago,IL:

University of Chicago Press.

Solomon,

H 1978). Geometric Probability.

Philadelphia,

PA:

SIAM Press.

Starn, J.

  1999).

Diffraction Shaders. In SIGGRAPH

 99:

Proceedings ofthe 26th

Annual Conference On COlnputer Graphics

And

Interactive Techniques   pp.

101-110).

Reading, MA: Addison-Wesley.

Stark, M. M., Arvo, J.,   Smits, B.

  2005).

Barycentric Parameterizations

for Isotropic BRDFs.

IEEE Transactions on Visualization and Computer

Graphics,

11 2), 126-138.

Stockham,

T 1972).

Image Processing in the Context

of

a Visual Model.

Pro-

ceedings

of

the IEEE, 60 7 ,828-842.

Strang, G.

  1988). Linear Algebra

and

Its Applications

  Third ed.). Florence,

KY: Brooks Cole.

Sutherland, I. E., Sproull, R F Schumacker, R. A.

  1974).

A Characterization

of n

Hidden-Surface Algorithms.

ACM Computing Surveys, 6 1),1-55.

Thompson, W B.,   Pong, T C.

  1990).

Detecting Moving Objects. International

Journal of Computer Vision, 4 1),39-57.

Thompson, W B., Shirley, P Ferwerda, J.

  2002).

A Spatial Post-Processing

Algorithm for Images of Night Scenes. journal of graphics tools, 7 1),

1-12.

Tomasi, C.,   Manduchi, R.

  1998).

Bilateral Filtering for Gray and Color

Images. In

Proc. IEEE International Conference on Computer Vision

  pp.

836-846).

Washington, DC: IEEE.

Tumblin, J.,

 

Turk, G.

  1999).

LCIS: A boundary Hierarchy for Detail

Preserving Contrast Reduction. In A Rockwood Ed.), SIGGRAPH 99:

Proceedings

of

the 26th Annual Conference on Computer Graphics and

Interactive Techniques

  pp.

83-90).

Reading, MA: Addison Wesley Long

man.

Turk, G.,

 

Levoy,

M 1994).

Zippered Polygon Meshes from Range Images. In

Proceedings ofSIGGRAPH

94

  pp.

311-318).

New York: ACM Press.

Turkowski, K

1990).

Properties

of

Surface-Normal Transformations. In

Graph-

ics Gems   pp.

539-547).

Boston: Academic Press.

Upson, C.,   Keeler, M.

  1988).

V-Buffer: Visible Volume Rendering.

Computer

Graphics, 22 4),59-64.   SIGGRAPH  88)

Upstill, S.

  1985).

The Realistic Presentation of Synthetic Images: Image Pro-

cessing in Computer Graphics.

Unpublished doctoral dissertation, Univer

sity of California at Berkeley.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 636/647

References

 

Van Aken, J., Novak, M. (1985). Curve-Drawing Algorithms for Raster Dis

plays.   M Transactions on Graphics, 4(2), 147-169.

Veach, E., Guibas, L. J (1997). Metropolis Light Transport. In

SIGGRAPH

 97: Proceedings of the 24th Annual Conference on Computer Graphics

and Interactive Techniques (pp.

65-76).

Reading, MA: Addison-Wesley.

Wald,

I

Slusallek,

P

Benthin, C., Wagner, M. (2001). Interactive Distributed

Ray Tracing of Highly Complex Models. In Proceedings of the 12th Euro-

graphics Workshop on Rendering Techniques (pp. 277-288). London, UK:

Springer-Verlag.

Walter, B., Hubbard, P M., Shirley,

P

Greenberg, D. F (1997). Global Il

lumination Using Local Linear Density Estimation.

  M

Transactions on

Graphics, 16(3), 217-259.

Wandell,

B

A (1995). Foundations of Vision. Sunderland, MA: Sinauer Asso

ciates.

Wann, J

P

Rushton, S., Mon-Williams, M. (1995). Natural Problems for

Stereoscopic Depth Perception in Virtual Environments. Vision Research,

35(19), 2731-2736.

Ward, G., Simmons, M. (2004). Subband Encoding

of

High Dynamic Range

Imagery. In First   M Symposium on Applied Perception in Graphics and

Visualization APGV) (pp. 83-90). NY: ACM Press.

Ward, G.

J

(1992). Measuring and Modeling Anisotropic Reflection. Computer

Graphics, 26(2), 265-272. (SIGGRAPH

 9 2)

Ward, G. J (1994). The RADIANCE Lighting Simulation and Rendering System.

In

A

Glassner (Ed.), SIGGRAPH  94: Proceedings of the 21st Annual Con-

ference on Computer Graphics and Interactive Techniques (pp. 459--472).

New York: ACM Press.

Ward Larson, G., Rushmeier, H., Piatko, C. (1997). A Visibility Matching Tone

Reproduction Operator for High Dynamic Range Scenes. IEEE Transac-

tions on Visualization and Computer Graphics, 3(4), 291-306.

Ward Larson, G., Shakespeare, R A. (1998). Rendering with Radiance. San

Francisco, CA: Morgan Kaufmann Publishers.

Warn, D.

R

(1983). Lighting Controls for Synthetic Images. Computer Graphics,

17 3),13-21. (SIGGRAPH

 8 3)

Watt, A (1991). Advanced Animation and Rendering Techniques. Reading, MA:

Addison-Wesley.

Watt, A (1993). 3D Computer Graphics. Reading, MA: Addison-Wesley.

Wei, L.-

Y

Levoy, M. (2000). Fast Texture Synthesis Using Tree-Structured

Vector Quantization. In Proceedings

of

SIGGRAPH 2000 (pp. 479--488).

Reading, MA: Addison-Wesley.

Whitted, T

(1980). An Improved Illumination Model for Shaded Display.

Com-

munications

of

the ACM, 23 6),343-349.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 637/647

612

References

Williams, A., Barrus, S., Morley,

R

K.,   Shirley,

P

2005). An Efficient and

Robust Ray-Box Intersection Algorithm. journal   graphics tools, 10 1 ,

49-54.

Williams, L 1978). Casting Curved Shadows on Curved Surfaces. Computer

Graphics,

12 3),270-274.   SIGGRAPH)

Williams,

L

1983).

Pyramidal Parametrics. Computer Graphics,

17 3), 1-11.

  SIGGRAPH

 83)

Williams,

L

1991). Shading in Two Dimensions. In

Proceedings

 

Graphics

Interface   pp.

143-151).

Wellesley, MA: A K Peters   Canadian Human

Computer Communications Society.

Wyszecki, G.,   Stiles,

W

1992). Color Science: Concepts and Methods,

Quantitative Data and Formulae   Second ed.). New York: Wiley.

Wyvill, B., McPheeters, C.,   Wyvill, G.   1986). Data Structure for Soft Objects.

The Visual Computer,

2 4), 227-234.

Yantis, S Ed.).   2000).

Visual Perception: Essential Readings.

London, UK:

Taylor   Francis Group.

Yessios, C.

I

1979). Computer Drafting   Stones, Wood, Plant and Ground

Materials. Computer Graphics, 13 2), 190-198.   SIGGRAPH  79)

Yonas, A., Goldsmith,

L T

Hallstrom,

J L

1978). The Development  

Sensitivity to Information from Cast Shadows in Pictures.

Perception,

 

333-342.

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 638/647

 n ex

AJD

converter 73

adjoint matrix 127

aerial perspective 509

aliasing 67 72 74 75 98 99

112 114 117

ambient shading 193

amodal completion 508

analog to digital converter 73

angle 20

cosine

sine

animation 2

anti umbra 3

antialiasing 67 98

99

aperture problem 493

API 1 3

apparent motion 493

application program interface 3

arc length 305

arc length parameterized curve 37

array

padded 274

tiling 274

artistic shading 197

assertO

associativity 80 83

attribute variables 39

average 8

B spline

control points 335

curve 334 335

filter 90 99

function

Fourier transform

I

10

interpolation 342

non uniform 340

NURBS 344

repeated knots 342

uniform cubic 339

uniform quadratic 337

Bezier curves 327

backface elimination 265

barycentric coordinates 43 44 63 300

basic execution model 390

basis 24

function 310

matrix 313

vectors 24

Bernstein basis polynomials 329

6

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 639/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 640/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 641/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 642/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 643/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 644/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 645/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 646/647

8/20/2019 Fundamentals of Computer Graphics (2nd Edition 2005)

http://slidepdf.com/reader/full/fundamentals-of-computer-graphics-2nd-edition-2005 647/647