Chapter 1 Introduction To Computer Graphics
1--1 Overview of Computer Graphics
Representing Pictures
Preparing Pictures for Presentation
Preseoting Previously Prepared Pictures
1--2 Raster Refresh Graphics Displays
Frame Buffers
1--3 Cathode Ray Tube Basics
Color CRT Raster Scan Monitors
1--4 Video Basics
American Standard Video
High Definition Television
1--5 Flat Panel DisPlays
Flat CRT
Plasma Display
Electroluminescelit Display
Liquid Cristal Displar
1--6 Hardcopy Output Devices
Electndatic Plotters
Ink Jet Plotters
Thermal Plotters
Dye Sublimation Printers
Pen and Ink Plotters
Laser Printers
Color Film Camras
1--7 Logical Interactire Devices
The Locator Thnction
The Valuator Function
The Battom or Choice Funtion
The Pick Function
1--8 Physical Interactive Devices
Tablets
Touch Panels
Control Dials
Joystick
Thackball
Mouse
Function Switches
Light Pen
Spaceball
Data Glove
Simulation of Alternate Devices
1--9 Data Generation Devices
Scanners
Three-dimeusional Digitizers
Motion Capture
1--10 Graphical User Interfaces
Cursors
Radio Buttons
Valuators
Scroll Bars
Grids
Dialog Boxes
Menus
Icons
Sketching
3-D Illteraction
Summary
Chapter 2 Raster Scan Graphics
2--1 Line Drawing Algorithms
2--2 Digital Differentiai Analyzer
2--3 Bresenham's Algorithm
Integer Bresenham's Algorithm
General Bresenham's Algorithm
Faster Line haerization Algorithms
2--4 Circle GenerationBresenham's Algorithm
2--5 Ellipse Generation
2--6 General FunCtion Rasterization
2--7 Scan C onversion--Generation of the Display
Real-time Scan Conversion
A Simple Active Edge List Using Poillters
A Sorted Active Edge List
An Active Edge List Using a Linked List
Updating the Linked List
2--8 Image Compression
Run-length Encoding
Area Image Compression
2--9 Displaying Lines, Characters and Polygons
Line Display
Chazarter Display
Solid Area Scan Convesion
2--10 Polygon Filling
Scanconverting Polygons
2--11 A Simple Parity Scan Conversion Algorithm
2--12 Ordered Edge List Polygon Scan Conversion
A Simple Ordered Edge LiSt Algorithm
More Efficieot Ordered Edge List Algorithms
2--13 The Edge Fill Algorithm
2--14 The Edge Fdag Algorithm
2--15 Seed Fill Algorithms
A Simple Seed Fi1l Algorithm
A Scan Line Seed Fill Algorithm
2-16 Fundamentals of Antialiasing
Supcrsampling
Simple Area Alltialiasing
The Convolution Integral and Antialiasing
Filter Functions
2--17 Halftoning
Patterning
Thresholding and Error Distribution
Ordered dither
Chapter 3 Clipping
3--1 Two-dimensional Clipping
A Simple Visibility AlgorithIn
End Point Codes
3--2 Cohen-Sutherland Subdivision Line
Clipping Algorithm
3--3 Midpoint Subdivision Algorithm
3--4 Two-dimensional Line Clipping for
Convex Boundaries
Parially Visible Lines
3--5 Cyrus--Beck Algorithm
Partially Visible Lines
Totally Visible Lines
Totally Invisible Lines
Formal Statemeot of Cyrus-Beck Algorithm
Irregular Windows
3--6 LiangBarsky Twrvdimensional Clipping
Comparison with the Cyrus--Beck Algorithm
3--7 Nicholl--Lee--Nicholl Two-dimensional Clipping
3--8 Interior and EXterior Clipping
3--9 Identifying Convex Polygons and Dotermining the
Inward Normal
3--10 Splitting Concave Polygons
3--1l Three-dimensional Clipping
3--12 Three-dimensional Midpoillt Subdivision Algorithm
3--13 Three-dimensional CyrusBeck Algorithm
3--l4 LiangBarsky Three-dimensional Clipping
3--15 Clipping in Homogeneous Coordinates
The Cyrus--Beck Algorithm
The Liang-Barsky Algorithm
3--16 Determining the Inward Normal and
Three-dimensional Conve Sots
3--17 Splitting Concave Volumes
3--18 Polygon Clipping
3--19 Reentrant Polygon Clipping
Sutherland-Hodgman Algorithm
Determining the Visibility of a Point
Line Iotersections
The Algorithm
3--20 LiangBarsky Polygon Clipping
Entering and Leaving Vertices
Turning Vertices
Development of the Algorithm
Horizontal and Vertical Edges
The Algorithm
3--21 Concave Clipping Regions
Weiler--Atherton Algorithm
Special Cases
3--22 Character Clipping
Chapter 4 Visible Lines and Visible Surfaces
4--1 Introduction
4--2 Floating Horizon Algorithm
Upper Horizon
Lower Horizon
Function Interpolation
Aliasing
The Alewitha
Cross-hatching
4--3 Roberts Algorithm
Volume Matrices
Plane Equaions
Viewing Transformations and Volume Matrices
Self hidden Plares
Lines Hidden by Other Volumes
Penetrating Volumes
Totally Visible Lines
The Algorithm
4--4 Warnoch Algorithm
Quadree Data Strucure
Subdivision Criteria
The ffelationship of a Polygon to a Window
Hierazchical Appicatbo of
Finding Surrouder Polygons
The Basic Algoithm
4--5 Appel's Algorithm
4--6 The Haloed Line Algorithm
4--7 WeilerAtherton Algorithm
4--8 A Subdivision Algorithm for Curved Surfaces
4--9 Z-Buffer Alsorithm
Incrementally Caiculating the Depth
Hierardscal Z-Buffer
4--10 The A-Buffer Algorithm
4--11 List Priority Algorithms
4--12 The Newell--Newell-Sancha Algorithm
Implementing the Tests
4--13 Binary Space Patitioning
The Schumaker Algorithm
Binary Spare Partition Trees
Constructing the BSP Tree
BSP Tree Thaversal
Culling
Summary
4--14 Scan Line Algorithms
4--15 Scan Line Z-Buffer Algorithm
4--16 A Spanning Scan Line Algorithm
Invisible Coherence
An Object Space Scan Line Algorithm
4--17 Scan Line Algorithms for Curved Surfaces
4--18 Octrees
Octree Display
Linear Octrees
Manipulation of Octrees
Boolean Operations
Finding Neighboring Voxels
4--19 Marching Cubes
Ambiguous faces
4--20 A Visible Surface Ray nacing Algorithm
Bounding Volumes
Clusters
Constructing the Cluster Tree
Priority Sort
Spatial Subdivision
Ray-Object Intersections
Opeque Visible Surface Algorithm
4--21 Summary
Chapter 5 Hendering
5--1 Introduction
5--2 Illumination Models
5--3 A Simple Illumination Model
Specular Reflection
The Halfway Vector
5--4 Determining the Surface Normal
5--5 Determining the Reflection Vector
5--6 Gouraud Shading
5--7 Phong Shading
Fast Phong Shedins
5--8 A Simple Illumination Model with Special Effects
5--9 A Physically Based Illumination Model
Energy and Intensity
Physically Based Illumination Models
The Torrance--Sparrow Surha Model
Wavelength Dependenc-the Fresnel Term
Color Shift
Physical CharaJcteristics of Light Sources
5--10 Thansparency
Refraction Effects in nansParent Materials
Simple nansparency Models
Z-Bther Thansparency
Pseudotransparency
5--11 Shadows
The Scan Conversion Shadow Algorithms
Multiple-pass Visible Surface
The Shfor Volume Algorithms
Penumbra Shadows
Ray Thacing Shadow Algorithms
5--12 Texture
Mapping Functions
Twcrpart Texture Mapping
Environment Mapping
Bump Mapping
Procedural Textures
Texture Alltialiasing
Mipmapping (Image Pyramids)
Summed Area Tables
5--13 Stochastic Models
5--14 A Global Illumination Model Using Ray nacing
5--15 A More Complete Global Illumination Model Usingn Ray Tracing
5--16 Advances in Ray Thacing
Cone Thacing
Beam Thacing
Pencil Tracing
Stochastic Sampling
Ray Thacing from the Light Source
5--17 Radiosity
Enclosures
Form Factors
The Hemicube
Rendering
Substructuring
Progressive Refinement
Sorting
The Ambient Cofitribution
Adaptive Subdivision
Hemicube Inaccuracies
Alternatives to the Hemicube
Hierarchical Radiosity and Clustering
Miosity for Specular Environments
The Rendering Equation
5--18 Combined Ray Tracing and Radiosity
The Extended Two-pass Algorithm
5--19 Color
Chromaticity
Tristimulus Theory of Color
Color Primary Systems
Color Matching Experiment
Chromaticity Diagrams
The 1931 CIE Chromaticity Diagram
Uniform Color Spaces
Gamut Limitations
Thansformations Between Color SyStems
NTSC Color System
Color Cubes
The CMYK Color System
The Ostwald Color System
The HSV Color System
The HLS Color System
The Munsell Color System
The Pantone System
Gamma Correction
5--20 Color Image Quatization
The Bit Cuttins Algnrithm
The Popularity Algorithm
The Median Cut Algorithm
Octree Quatization
Sequential Scalar Quatization
Other Quantization Algorithms
5--21 Color Repoduction
Offset Printing
Color Separation
Tone Reproduction
Gray Balance
The Black Separation
Quatization Effects
Calibeation
Gamut Mapping
5--22 Specialty Rendering Techniques
Duotone Printins
Rendering Natural Objects
Particle Systems
Appendix Problems and Projects
References
Index