Book description
From geometric primitives to animation to 3D modeling to lighting, shading, and texturing, Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition presents a comprehensive introduction to computer graphics that uses an active learning style to teach key concepts. Equally emphasizing theory and practice, the book provides an und
Table of contents
- Preliminaries
- Preface
- About the Author
-
Part I Hello World
- Chapter 1 An Invitation to Computer Graphics
-
Chapter 2 On to Opengl and 3D Computer Graphics
- 2.1 First Program
- 2.2 Orthographic Projection, Viewing Box and World Coordinates
- 2.3 The OpenGL Window and Screen Coordinates
- 2.4 Clipping
- 2.5 Color, OpenGL State Machine and Interpolation
- 2.6 OpenGL Geometric Primitives
- 2.7 Approximating Curved Objects
- 2.8 Three Dimensions, the Depth Buffer and Perspective Projection
- 2.9 Drawing Projects
- 2.10 Approximating Curved Objects Once More
- 2.11 An OpenGL Program End to End
- 2.12 Summary, Notes and More Reading
-
- Figure 2.1
- Figure 2.2
- Figure 2.3
- Figure 2.4
- Figure 2.5
- Figure 2.6
- Figure 2.7
- Figure 2.8
- Figure 2.9
- Figure 2.10
- Figure 2.11
- Figure 2.12
- Figure 2.13
- Figure 2.14
- Figure 2.15
- Figure 2.16
- Figure 2.17
- Figure 2.18
- Figure 2.19
- Figure 2.20
- Figure 2.21
- Figure 2.22
- Figure 2.23
- Figure 2.24
- Figure 2.25
- Figure 2.26
- Figure 2.27
- Figure 2.28
- Figure 2.29
- Figure 2.30
- Figure 2.31
- Figure 2.32
- Figure 2.33
- Figure 2.34
- Figure 2.35
- Figure 2.36
- Figure 2.37
- Figure 2.38
- Figure 2.39
- Figure 2.40
- Figure 2.41
- Figure 2.42
-
Part II Tricks of the Trade
-
Chapter 3 An OpenGL Toolbox
- 3.1 Vertex Arrays and Their Drawing Commands
- 3.2 Vertex Buffer Objects
- 3.3 Vertex Array Objects
- 3.4 Display Lists
- 3.5 Drawing Text
- 3.6 Programming the Mouse
- 3.7 Programming Non-ASCII Keys
- 3.8 Menus
- 3.9 Line Stipples
- 3.10 FreeGLUT Objects
- 3.11 Clipping Planes
- 3.12 gluPerspective()
- 3.13 Viewports
- 3.14 Multiple Windows
- 3.15 Summary, Notes and More Reading
-
- Figure 3.1
- Figure 3.2
- Figure 3.3
- Figure 3.4
- Figure 3.5
- Figure 3.6
- Figure 3.7
- Figure 3.8
- Figure 3.9
- Figure 3.10
- Figure 3.11
- Figure 3.12
- Figure 3.13
- Figure 3.14
- Figure 3.15
- Figure 3.16
- Figure 3.17
- Figure 3.18
- Figure 3.19
- Figure 3.20
- Figure 3.21
- Figure 3.22
- Figure 3.23
- Figure 3.24
- Figure 3.25
- Figure 3.26
-
Chapter 3 An OpenGL Toolbox
-
Part III Movers and Shapers
-
Chapter 4 Transformation, Animation and Viewing
- 4.1 Modeling Transformations
- 4.2 Composing Modeling Transformations
- 4.3 Placing Multiple Objects
- 4.4 Modelview Matrix Stack and Isolating Transformations
- 4.5 Animation
- 4.6 Viewing Transformation
- 4.7 More Animation Code
- 4.8 Selection and Picking
- 4.9 Summary, Notes and More Reading
-
- Figure 4.1
- Figure 4.2
- Figure 4.3
- Figure 4.4
- Figure 4.5
- Figure 4.6
- Figure 4.7
- Figure 4.8
- Figure 4.9
- Figure 4.10
- Figure 4.11
- Figure 4.12
- Figure 4.13
- Figure 4.14
- Figure 4.15
- Figure 4.16
- Figure 4.17
- Figure 4.18
- Figure 4.19
- Figure 4.20
- Figure 4.21
- Figure 4.22
- Figure 4.23
- Figure 4.24
- Figure 4.25
- Figure 4.26
- Figure 4.27
- Figure 4.28
- Figure 4.29
- Figure 4.30
- Figure 4.31
- Figure 4.32
- Figure 4.33
- Figure 4.34
- Figure 4.35
- Figure 4.36
- Figure 4.37
- Figure 4.38
- Figure 4.39
- Figure 4.40
- Figure 4.41
- Figure 4.42
- Figure 4.43
- Figure 4.44
- Figure 4.45
- Figure 4.46
- Figure 4.47
- Figure 4.48
- Figure 4.49
- Figure 4.50
- Figure 4.51
- Figure 4.52
- Figure 4.53
- Figure 4.54
- Figure 4.55
- Figure 4.56
- Figure 4.57
- Figure 4.58
- Figure 4.59
- Figure 4.60
- Figure 4.61
- Figure 4.62
- Figure 4.63
-
Chapter 5 Inside Animation: The Theory of Transformations
- 5.1 Geometric Transformations in 2-Space
- 5.2 Affine Transformations
- 5.3 Geometric Transformations in 2-Space Continued
- 5.4 Geometric Transformations in 3-Space
- 5.5 Summary, Notes and More Reading
-
- Figure 5.1
- Figure 5.2
- Figure 5.3
- Figure 5.4
- Figure 5.5
- Figure 5.6
- Figure 5.7
- Figure 5.8
- Figure 5.9
- Figure 5.10
- Figure 5.11
- Figure 5.12
- Figure 5.13
- Figure 5.14
- Figure 5.15
- Figure 5.16
- Figure 5.17
- Figure 5.18
- Figure 5.19
- Figure 5.20
- Figure 5.21
- Figure 5.22
- Figure 5.23
- Figure 5.24
- Figure 5.25
- Figure 5.26
- Figure 5.27
- Figure 5.28
- Figure 5.29
- Figure 5.30
- Figure 5.31
- Figure 5.32
- Figure 5.33
- Figure 5.34
- Figure 5.35
- Chapter 6 Advanced Animation Techniques
-
Chapter 4 Transformation, Animation and Viewing
-
Part IV Geometry for the Home Office
- Chapter 7 Convexity and Interpolation
- Chapter 8 Triangulation
- Chapter 9 Orientation
-
Part V Making Things Up
-
Chapter 10 Modeling in 3D Space
- 10.1 Curves
- 10.2 Surfaces
- 10.3 Bézier Phrase Book
- 10.4 Fractals
- 10.5 Summary, Notes and More Reading
-
- Figure 10.1
- Figure 10.2
- Figure 10.3
- Figure 10.4
- Figure 10.5
- Figure 10.6
- Figure 10.7
- Figure 10.8
- Figure 10.9
- Figure 10.10
- Figure 10.11
- Figure 10.12
- Figure 10.13
- Figure 10.14
- Figure 10.15
- Figure 10.16
- Figure 10.17
- Figure 10.18
- Figure 10.19
- Figure 10.20
- Figure 10.21
- Figure 10.22
- Figure 10.23
- Figure 10.24
- Figure 10.25
- Figure 10.26
- Figure 10.27
- Figure 10.28
- Figure 10.29
- Figure 10.30
- Figure 10.31
- Figure 10.32
- Figure 10.33
- Figure 10.34
- Figure 10.35
- Figure 10.36
- Figure 10.37
- Figure 10.38
- Figure 10.39
- Figure 10.40
- Figure 10.41
- Figure 10.42
- Figure 10.43
- Figure 10.44
- Figure 10.45
- Figure 10.46
- Figure 10.47
- Figure 10.48
- Figure 10.49
- Figure 10.50
- Figure 10.51
- Figure 10.52
- Figure 10.53
- Figure 10.54
- Figure 10.55
- Figure 10.56
- Figure 10.57
- Figure 10.58
- Figure 10.59
- Figure 10.60
- Figure 10.61
- Figure 10.62
- Figure 10.63
- Figure 10.64
- Figure 10.65
- Figure 10.66
- Figure 10.67
- Figure 10.68
- Figure 10.69
- Figure 10.70
- Figure 10.71
- Figure 10.72
- Figure 10.73
- Figure 10.74
- Figure 10.75
- Figure 10.76
- Figure 10.77
- Figure 10.78
- Figure 10.79
- Figure 10.80
- Figure 10.81
-
Chapter 10 Modeling in 3D Space
-
Part VI Lights, Camera, Equation
-
Chapter 11 Color and Light
- 11.1 Vision and Color Models
- 11.2 Phong’s Lighting Model
- 11.3 OpenGL Light and Material Properties
- 11.4 OpenGL Lighting Model
- 11.5 Directional Lights, Positional Lights and Attenuation of Intensity
- 11.6 Spotlights
- 11.7 OpenGL Lighting Equation
- 11.8 OpenGL Shading Models
- 11.9 Animating Light
- 11.10 Partial Derivatives, Tangent Planes and Normal Vectors 101
- 11.11 Computing Normals and Lighting Surfaces
- 11.12 Phong’s Shading Model
- 11.13 Lighting Exercises
- 11.14 Summary, Notes and More Reading
-
- Figure 11.1
- Figure 11.2
- Figure 11.3
- Figure 11.4
- Figure 11.5
- Figure 11.6
- Figure 11.7
- Figure 11.8
- Figure 11.9
- Figure 11.10
- Figure 11.11
- Figure 11.12
- Figure 11.13
- Figure 11.14
- Figure 11.15
- Figure 11.16
- Figure 11.17
- Figure 11.18
- Figure 11.19
- Figure 11.20
- Figure 11.21
- Figure 11.22
- Figure 11.23
- Figure 11.24
- Figure 11.25
- Figure 11.26
- Figure 11.27
- Figure 11.28
- Figure 11.29
- Figure 11.30
- Figure 11.31
- Figure 11.32
- Figure 11.33
- Figure 11.34
- Figure 11.35
- Figure 11.36
- Figure 11.37
- Figure 11.38
- Figure 11.39
- Figure 11.40
- Figure 11.41
- Figure 11.42
- Figure 11.43
- Figure 11.44
- Figure 11.45
- Figure 11.46
- Figure 11.47
- Figure 11.48
- Chapter 12 Texture
-
- Figure 12.1
- Figure 12.2
- Figure 12.3
- Figure 12.4
- Figure 12.5
- Figure 12.6
- Figure 12.7
- Figure 12.8
- Figure 12.9
- Figure 12.10
- Figure 12.11
- Figure 12.12
- Figure 12.13
- Figure 12.14
- Figure 12.15
- Figure 12.16
- Figure 12.17
- Figure 12.18
- Figure 12.19
- Figure 12.20
- Figure 12.21
- Figure 12.22
- Figure 12.23
- Figure 12.24
- Figure 12.25
- Figure 12.26
- Figure 12.27
- Figure 12.28
- Chapter 13 Special Visual Techniques
-
- Figure 13.1
- Figure 13.2
- Figure 13.3
- Figure 13.4
- Figure 13.5
- Figure 13.6
- Figure 13.7
- Figure 13.8
- Figure 13.9
- Figure 13.10
- Figure 13.11
- Figure 13.12
- Figure 13.13
- Figure 13.14
- Figure 13.15
- Figure 13.16
- Figure 13.17
- Figure 13.18
- Figure 13.19
- Figure 13.20
- Figure 13.21
- Figure 13.22
- Figure 13.23
- Figure 13.24
- Figure 13.25
- Figure 13.26
- Figure 13.27
- Figure 13.28
- Figure 13.29
-
Chapter 11 Color and Light
-
Part VII Pixels, Pixels, Everywhere
- Chapter 14 Raster Algorithms
-
- Figure 14.1
- Figure 14.2
- Figure 14.3
- Figure 14.4
- Figure 14.5
- Figure 14.6
- Figure 14.7
- Figure 14.8
- Figure 14.9
- Figure 14.10
- Figure 14.11
- Figure 14.12
- Figure 14.13
- Figure 14.14
- Figure 14.15
- Figure 14.16
- Figure 14.17
- Figure 14.18
- Figure 14.19
- Figure 14.20
- Figure 14.21
- Figure 14.22
- Figure 14.23
- Figure 14.24
- Figure 14.25
- Figure 14.26
- Figure 14.27
- Figure 14.28
-
Part VIII Anatomy of Curves and Surfaces
- Chapter 15 Bézier
-
Chapter 16 B-Spline
- 16.1 Problems with Bézier Primitives: Motivating B-Splines
- 16.2 B-Spline Curves
- 16.3 B-Spline Surfaces
- 16.4 Drawing B-Spline Curves and Surfaces
- 16.5 Summary, Notes and More Reading
-
- Figure 16.1
- Figure 16.2
- Figure 16.3
- Figure 16.4
- Figure 16.5
- Figure 16.6
- Figure 16.7
- Figure 16.8
- Figure 16.9
- Figure 16.10
- Figure 16.11
- Figure 16.12
- Figure 16.13
- Figure 16.14
- Figure 16.15
- Figure 16.16
- Figure 16.17
- Figure 16.18
- Figure 16.19
- Figure 16.20
- Figure 16.21
- Figure 16.22
- Figure 16.23
- Figure 16.24
- Figure 16.25
- Figure 16.26
- Figure 16.27
- Figure 16.28
- Figure 16.29
- Figure 16.30
- Figure 16.31
- Figure 16.32
- Figure 16.33
- Figure 16.34
- Figure 16.35
- Figure 16.36
- Figure 16.37
- Figure 16.38
- Figure 16.39
- Figure 16.40
- Figure 16.41
- Chapter 17 Hermite
-
Part IX Well Projected
-
Chapter 18 Applications of Projective Spaces
- 18.1 OpenGL Projection Transformations
- 18.2 Shadow Mapping
-
18.3 Rational Bézier and NURBS Curves and Surfaces
- 18.3.1 Rational Bézier Curves Basics
- 18.3.2 Drawing Rational Bézier Curves
- 18.3.3 Rational Bézier Curves and Conic Sections
- 18.3.4 Properties of Rational Bézier Curves
- 18.3.5 Rational Bézier Curves and Projective Invariance
- 18.3.6 Rational Bézier Curves in the Real World
- 18.3.7 Rational Bézier Surfaces
- 18.3.8 The ‘R’ in NURBS
- 18.4 Summary, Notes and More Reading
-
Chapter 18 Applications of Projective Spaces
-
Part X The Time is Pipe
- Chapter 19 Fixed-Functionality Pipelines
-
- Figure 19.1
- Figure 19.2
- Figure 19.3
- Figure 19.4
- Figure 19.5
- Figure 19.6
- Figure 19.7
- Figure 19.8
- Figure 19.9
- Figure 19.10
- Figure 19.11
- Figure 19.12
- Figure 19.13
- Figure 19.14
- Figure 19.15
- Figure 19.16
- Figure 19.17
- Figure 19.18
- Figure 19.19
- Figure 19.20
- Figure 19.21
- Figure 19.22
- Figure 19.23
- Figure 19.24
-
Part XI Rendering Pipe Dreams
- Chapter 20 OpenGL 4.3, Shaders and the Programmable Pipeline: Liftoff
-
Chapter 21 OpenGL 4.3, Shaders and the Programmable Pipeline: Escape Velocity
- 21.1 Toolbox
- 21.2 Shader Subroutines
- 21.3 More Animation
- 21.4 Special Visual Techniques
- 21.5 Tessellation Shaders
- 21.6 Geometry Shaders
- 21.7 Summary, Notes and More Reading
-
- Figure 21.1
- Figure 21.2
- Figure 21.3
- Figure 21.4
- Figure 21.5
- Figure 21.6
- Figure 21.7
- Figure 21.8
- Figure 21.9
- Figure 21.10
- Figure 21.11
- Figure 21.12
- Figure 21.13
- Figure 21.14
- Figure 21.15
- Figure 21.16
- Figure 21.17
- Figure 21.18
- Figure 21.19
- Figure 21.20
- Figure 21.21
- Figure 21.22
- Figure 21.23
- Figure 21.24
-
Appendices
-
Appendix A Projective Spaces and Transformations
- A.1 Motivation and Definition of the Projective Plane
- A.2 Geometry on the Projective Plane and Point-Line Duality
- A.3 Homogeneous Coordinates
- A.4 Structure of the Projective Plane
- A.5 Snapshot Transformations
- A.6 Homogeneous Polynomial Equations
- A.7 The Dimension of the Projective Plane and Its Generalization to Higher Dimensions
- A.8 Projective Transformations Defined
- A.9 Projective Transformations Geometrically
- A.10 Relating Projective, Snapshot and Affine Transformations
- A.11 Designer Projective Transformations
-
- Figure A.1
- Figure A.2
- Figure A.3
- Figure A.4
- Figure A.5
- Figure A.6
- Figure A.7
- Figure A.8
- Figure A.9
- Figure A.10
- Figure A.11
- Figure A.12
- Figure A.13
- Figure A.14
- Figure A.15
- Figure A.16
- Figure A.17
- Figure A.18
- Figure A.19
- Figure A.20
- Figure A.21
- Figure A.22
- Figure A.23
- Figure A.24
- Figure A.25
- Figure A.26
- Appendix B Math Self-Test
- Appendix C Math Self-Test Solutions
-
Appendix A Projective Spaces and Transformations
- Bibliography
Product information
- Title: Computer Graphics Through OpenGL, 2nd Edition
- Author(s):
- Release date: August 2014
- Publisher(s): A K Peters/CRC Press
- ISBN: 9781498760591
You might also like
book
Learn OpenGL
A step-by-step instructional guide to understanding the fundamentals of game development with OpenGL. Right from the …
book
Real-Time 3D Rendering with DirectX® and HLSL: A Practical Guide to Graphics Programming
Get Started Quickly with DirectX 3D Programming: No 3D Experience Needed This step-by-step text demystifies modern …
book
Mathematics for Game Programming and Computer Graphics
A comprehensive guide to learning fundamental 3D mathematical principles used in games and computer graphics by …
book
Computer Graphics
This text explores all major areas of modern computer graphics, starting from basic mathematics and algorithms …