国外计算机科学教材系列·交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)

CHAPTER1 GRAPHICS SYSTEMS AND MODELS
1.1 Applications of Computer Graphics
1.1.1 Display of Information
1.1.2 Design
1.1.3 Simulation and Animation
1.1.4 User Interfaces
1.2 A Graphics System
1.2.1 Pixels and the Frame Buffer
1.2.2 Output Devices
1.2.3 Input Devices
1.3 Images: Physical and Synthetic
1.3.1 Objects and Viewers
1.3.2 Light and Images
1.3.3 Image Formation Models
1.4 Imaging Systems
1.4.1 The Pinhole Camera
1.4.2 The Human Visual System
1.5 The Synthetic-Camera Model
1.6 The Programmers Interface
1.6.1 The Pen-Plotter Model
1.6.2 Three-Dimensional APIs
1.6.3 A Sequence of Images
1.6.4 The Modeling-Rendering Paradigm
1.7 Graphics Architectures
1.7.1 Display Processors
1.7.2 Pipeline Architectures
1.7.3 The Graphics Pipeline
1.7.4 Vertex Processing
1.7.5 Clipping and Primitive Assembly
1.7.6 Rasterization
1.7.7 Fragment Processing
1.8 Programmable Pipelines
1.9 Performance Characteristics
Summary and Notes
Suggested Readings
Exercises
CHAPTER2 GRAPHICS PROGRAMMING
2.1 The Sierpinski Gasket
2.2 Programming Two-Dimensional Applications
2.2.1 Coordinate Systems
2.3 The OpenGL API
2.3.1 Graphics Functions
2.3.2 The Graphics Pipeline and State Machines
2.3.3 The OpenGL Interface
2.4 Primitives and Attributes
2.4.1 Polygon Basics
2.4.2 Polygon Types in OpenGL
2,4.3 Approximatin9 a Sphere
2.4.4 Text
2.4.5 Curved Objects
2.4.6 Attributes
2.5 Color
2.5.1 RGB Color
2.5.2 Indexed Color
2.5.3 Setting of Color Attributes
2.6 Viewing
2.6.1 The Orthographic View
2.6.2 Two-Dimensional Viewing
2.6.3 Matrix Modes
2.7 Control Functions
2.7.1 Interaction with the Window System
2.7.2 Aspect Ratio and Viewports
2.7.3 The main, display, and myinit Functions
2.7.4 Program Structure
2.8 The Gasket Program
2.9 Polygons and Recursion
2.10 The Three.Dimensional Gasket
2.1O.1 Use of Three Dimensional Points
2.10.2 Use Of Polygons in Three Dimensions
2.10.3 Hidden-Surface Removal
2.11 Plotting Implicit Functions
2.11.1 Marching Squares
Summary and Notes
Suggested Readings
Exercises
CHAPTER3 INPUT AND INTERACTION
3.1 Interaction
3.2 Input Devices
3.2.1 Physical Input Devices
3.2.2 Logical Devices
3.2 3 Input Modes
3.3 Clients and Servers
3.4 Display Lists
3.4.1 Definition and Execution of Display Lists
3.4.2 Text and Display Lists
3.4.3 Fonts in GLUT
3.5 Display Lists and Modeling
3.6 Programming Event Driven Input
3.6.1 Using the Pointing Device
3.6.2 Window Events
3.6.3 Keyboard Events
3.6.4 The Display and Idle Callbacks
3.6.S Window Management
3.7 Menus
3.8 Picking
3.8.1 Picking and Selection Mode
3.9 A Simple CAD Program
3.10 Building Interactive Models
3.11 Animating Interactive Programs
3.11.1 The Rotating Square
3.11.2 Double Buffering
3.11.3 Using a Timer
3.12 Design of Interactive Programs
3.12.1 Toolkits.Widgets.and the Frame Buffer
3.13 Logic Operations
3.13.1 Drawing Erasable Lines
3.13.2 XOR and Color
3.13.3 Cursors and Overlay Planes
Summary and Notes
Suggested Readings
Exercises
CHAPTER4 GEOMTRIC OBJECTS AND TRANSFORMATIONS
4.1 Scalars,Points.and Vectors
4.1.1 Geometric Objects
4.1.2 Coordinate.Free Geometry
4.1.3 The Mathematical View:Vector and Affine Spaces
4.1.4 The Computer Science View
4.1.5 GeometricADTs
4.1.6 Lines
4.1.7 Affjne Sums
4.1.8 Convexity
4.1.9 Dot and Cross Products
4.2 Three-DimensionaI Primitives
4.3 Coordinate Systems and Frames
4.3.1 Representations and N.Tuples
4.3.2 Change of Coordinate Systems
4.3.3 Example Change of Representation
4.3.4 Homogeneous Coordinates
4.3.5 Example Change in Frames
4.3.6 Working with Representations
4.4 Frames in 0penGL
4.5 Modeling a Colored Cube
4.5.1 Modeling the Faces
4.5.2 Inward-and Outward.Pointing Faces
4.5.3 Data Structures for Object Representation
4.5.4 The Color Cube
4.5.5 Bilinear Interpolation
4.5.6 Vertex Arrays
4.6 Affine Transformations
4.7 Translation,Rotation-and Scaling
4.7.1 Translation
4.7.2 Rotation
CHAPTER 5 VIEWING
CHAPTER 6 LIGHTING AND SHADING
CHAPTER 7 FROM VERTICES TO FRAGMENTS
CHAPTER 8 DISCRETE TECHNIQUES
CHAPTER 9 PROGRAMMABLE SHADERS
1.1 Applications of Computer Graphics
1.1.1 Display of Information
1.1.2 Design
1.1.3 Simulation and Animation
1.1.4 User Interfaces
1.2 A Graphics System
1.2.1 Pixels and the Frame Buffer
1.2.2 Output Devices
1.2.3 Input Devices
1.3 Images: Physical and Synthetic
1.3.1 Objects and Viewers
1.3.2 Light and Images
1.3.3 Image Formation Models
1.4 Imaging Systems
1.4.1 The Pinhole Camera
1.4.2 The Human Visual System
1.5 The Synthetic-Camera Model
1.6 The Programmers Interface
1.6.1 The Pen-Plotter Model
1.6.2 Three-Dimensional APIs
1.6.3 A Sequence of Images
1.6.4 The Modeling-Rendering Paradigm
1.7 Graphics Architectures
1.7.1 Display Processors
1.7.2 Pipeline Architectures
1.7.3 The Graphics Pipeline
1.7.4 Vertex Processing
1.7.5 Clipping and Primitive Assembly
1.7.6 Rasterization
1.7.7 Fragment Processing
1.8 Programmable Pipelines
1.9 Performance Characteristics
Summary and Notes
Suggested Readings
Exercises
CHAPTER2 GRAPHICS PROGRAMMING
2.1 The Sierpinski Gasket
2.2 Programming Two-Dimensional Applications
2.2.1 Coordinate Systems
2.3 The OpenGL API
2.3.1 Graphics Functions
2.3.2 The Graphics Pipeline and State Machines
2.3.3 The OpenGL Interface
2.4 Primitives and Attributes
2.4.1 Polygon Basics
2.4.2 Polygon Types in OpenGL
2,4.3 Approximatin9 a Sphere
2.4.4 Text
2.4.5 Curved Objects
2.4.6 Attributes
2.5 Color
2.5.1 RGB Color
2.5.2 Indexed Color
2.5.3 Setting of Color Attributes
2.6 Viewing
2.6.1 The Orthographic View
2.6.2 Two-Dimensional Viewing
2.6.3 Matrix Modes
2.7 Control Functions
2.7.1 Interaction with the Window System
2.7.2 Aspect Ratio and Viewports
2.7.3 The main, display, and myinit Functions
2.7.4 Program Structure
2.8 The Gasket Program
2.9 Polygons and Recursion
2.10 The Three.Dimensional Gasket
2.1O.1 Use of Three Dimensional Points
2.10.2 Use Of Polygons in Three Dimensions
2.10.3 Hidden-Surface Removal
2.11 Plotting Implicit Functions
2.11.1 Marching Squares
Summary and Notes
Suggested Readings
Exercises
CHAPTER3 INPUT AND INTERACTION
3.1 Interaction
3.2 Input Devices
3.2.1 Physical Input Devices
3.2.2 Logical Devices
3.2 3 Input Modes
3.3 Clients and Servers
3.4 Display Lists
3.4.1 Definition and Execution of Display Lists
3.4.2 Text and Display Lists
3.4.3 Fonts in GLUT
3.5 Display Lists and Modeling
3.6 Programming Event Driven Input
3.6.1 Using the Pointing Device
3.6.2 Window Events
3.6.3 Keyboard Events
3.6.4 The Display and Idle Callbacks
3.6.S Window Management
3.7 Menus
3.8 Picking
3.8.1 Picking and Selection Mode
3.9 A Simple CAD Program
3.10 Building Interactive Models
3.11 Animating Interactive Programs
3.11.1 The Rotating Square
3.11.2 Double Buffering
3.11.3 Using a Timer
3.12 Design of Interactive Programs
3.12.1 Toolkits.Widgets.and the Frame Buffer
3.13 Logic Operations
3.13.1 Drawing Erasable Lines
3.13.2 XOR and Color
3.13.3 Cursors and Overlay Planes
Summary and Notes
Suggested Readings
Exercises
CHAPTER4 GEOMTRIC OBJECTS AND TRANSFORMATIONS
4.1 Scalars,Points.and Vectors
4.1.1 Geometric Objects
4.1.2 Coordinate.Free Geometry
4.1.3 The Mathematical View:Vector and Affine Spaces
4.1.4 The Computer Science View
4.1.5 GeometricADTs
4.1.6 Lines
4.1.7 Affjne Sums
4.1.8 Convexity
4.1.9 Dot and Cross Products
4.2 Three-DimensionaI Primitives
4.3 Coordinate Systems and Frames
4.3.1 Representations and N.Tuples
4.3.2 Change of Coordinate Systems
4.3.3 Example Change of Representation
4.3.4 Homogeneous Coordinates
4.3.5 Example Change in Frames
4.3.6 Working with Representations
4.4 Frames in 0penGL
4.5 Modeling a Colored Cube
4.5.1 Modeling the Faces
4.5.2 Inward-and Outward.Pointing Faces
4.5.3 Data Structures for Object Representation
4.5.4 The Color Cube
4.5.5 Bilinear Interpolation
4.5.6 Vertex Arrays
4.6 Affine Transformations
4.7 Translation,Rotation-and Scaling
4.7.1 Translation
4.7.2 Rotation
CHAPTER 5 VIEWING
CHAPTER 6 LIGHTING AND SHADING
CHAPTER 7 FROM VERTICES TO FRAGMENTS
CHAPTER 8 DISCRETE TECHNIQUES
CHAPTER 9 PROGRAMMABLE SHADERS
Edward Angel,美国新墨西哥大学计算机科学系、电气与计算机工程系以及媒体艺术系荣誉退休教授,他曾经是该大学首位兼任教学工作的研究生。Edward获得了美国南加州大学获得哲学博士学位和加州理工学院工程理学士学位。他还是新墨西哥大学艺术、研究、技术和科学实验室的主任。
覆盖了计算机图形学基础课程中的所有主题,包括光与材质的相互作用、明暗绘制、建模、曲线和曲面、反走样、光栅化、纹理映射和图像合成等内容。
在广泛结合OpenGL并注重图形应用编程的基础上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》向读者介绍了计算机图形学的核心概念。书中代码采用C和C++语言,并使用了自顶向下和面向编程的方法,使读者能够迅速地创建自己的三维图形。在结构安排上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》在读者学会了编写交互式图形程序之后再介绍底层的算法,如线段的绘制以及多边形填充等算法。
在广泛结合OpenGL并注重图形应用编程的基础上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》向读者介绍了计算机图形学的核心概念。书中代码采用C和C++语言,并使用了自顶向下和面向编程的方法,使读者能够迅速地创建自己的三维图形。在结构安排上,《交互式计算机图形学:基于OpenGL的自顶向下方法(第5版)(英文版)》在读者学会了编写交互式图形程序之后再介绍底层的算法,如线段的绘制以及多边形填充等算法。
比价列表
公众号、微信群
缺书网微信公众号
扫码进群实时获取购书优惠





