Computer Graphics Through OpenGL: From Theory to Experiments 3rd Edition by Sumanta Guha – Ebook PDF Instant Download/Delivery: 1138612642, 978-1138612648
Full download Computer Graphics Through OpenGL: From Theory to Experiments 3rd Edition after payment

Product details:
ISBN 10: 1138612642
ISBN 13: 978-1138612648
Author: Sumanta Guha
From geometric primitives to animation to 3D modeling to lighting, shading and texturing, Computer Graphics Through OpenGL®: From Theory to Experiments is a comprehensive introduction to computer graphics which uses an active learning style to teach key concepts. Equally emphasizing theory and practice, the book provides an understanding not only of the principles of 3D computer graphics, but also the use of the OpenGL® Application Programming Interface (API) to code 3D scenes and animation, including games and movies.
The undergraduate core of the book takes the student from zero knowledge of computer graphics to a mastery of the fundamental concepts with the ability to code applications using fourth-generation OpenGL®. The remaining chapters explore more advanced topics, including the structure of curves and surfaces, applications of projective spaces and transformations and the implementation of graphics pipelines.
Table of contents:
I Hello World
1 AN INVITATION TO COMPUTER GRAPHICS
1.1 Brief History of Computer Graphics
1.2 Overview of a Graphics System
1.2.1 Input Devices
1.2.2 Output Devices
1.3 Quick Preview of the Adventures Ahead
2 ON 10 OPENGL AND 3D COMPUVIER 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.8.1 A Vital 3D Utility: The Depth Buffer
2.8.2 A Helix and Perspective Projection
2.9 Drawing Pro jects
2.10 Approximating Curved Objects Once More
2.11 An OpenGL. Program End to End
2.12 Summary, Notes and More Reading
II Tricks of the Trade
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 Frustum, Differently
3.13 Viewports
3.14 Multiple Windows
3.15 Summary, Notes and More Reading
111 Movers and Shapers
4. TRANSFORMATION, ANIMATION AND VIEWING
4.1 Modeling Transformations
4.1.1 Translation
4.1.2 Scaling
4.1.3 Rotation
4.2 Composing Modeling Transformations
4.3 Placing Multiple Objects
4.4 Modelview Matrix Stack and Isolating Transformations
4.5 Animation
4.5.1 Animation Technicals
4.5.2 Animation Code
4.5.3 Animation Projects
4.6 Viewing Transformation
4.6.1 Understanding the Viewing Transformation
4.6.2 Simulating a Viewing Transformation with Modeling Transformations
4.6.3 Orientation and Euler Angles
4.6.4 Viewing Transformation and Collision Detection in Animation
4.7 More Animation Code
4.7.1 Animating an Articulated Figure
4.7.2 Simple Orthographic Shadows
4.8 Selection and Picking
4.8.1 Selection
4.8.2 Picking
4.9 Summary, Notes and More Reading
5 IN ANIMATION: THE THEORY OF TRANSFORMATIONS
5.1 Geometric Transformations in 2-Space
5.1.1 Translation
5.1.2 Scaling
5.1.3 Rotation
5.1.4 Reflection
5.2 Affine Transformations
5.2.1 Affine Transformations. Defined
5.2.2 Affine Transformations and OpenGL
5.2.3 Affine Transformations and Homogeneous Coordinates
5.3 Geometric Transformations in 2-Space Continued
5.3.1 Affine Geometric Transformations
5.3.2 Euclidean and Rigid Transformations
5.4 Geometric Transformations in 3-Space
5.4.1 Translation
5.4.2 Scaling
5.4.3 Rotation
5.4.4 Reection
5.4.5 Affine Geometric Transformations
5.4.6 Accessing and Manipulating the Current Modelview Matrix
5.4.7 Euclidean and Rigid Transformations
5.5 Summary, Notes and More Reading
6 ADVANCED ANIMATION TECHNIQUES
6.1 Frustum Culling by Space Partitioning
6.1.1 Space Partitioning
6.1.2 Quadtrees
6.1.3 Implementation
6.1.4 More about Space Partitioning
6.2 Occlusion
6.2.1 Querying and Culling
6.2.2 Conditional Rendering
6.3 Timer Queries and Performance Measurememt
6.4 Animating Orientation Using Euler Angles
6.4.1 Euler Angles and the Orientation of a Rigid Body
6.4.2 Animating Orientation
6.4.3 Problems with Euler Angles: Gimbal Lock and Ambiguity
6.5 Quaternions
6.5.1 Quaternion Math 101
6.5.2 Quaternions and Orientation
6.6 Summary, Notes and More Reading
IV Geometry for the Home Office
7. CONVEXITY AND INTERPOLATION
7.1 Motivation
7.2 Convex Combinations
7.3 Interpolation
7.4 Convexity and the Convex Hull
7.5 Summary, Notes and More Reading
8 TRIANGULATION
8.1 Definition and Justification
8.2 Steiner Vertices and the Quality of a Triangulation
8.3 Triangulation in OpenGL and the Trouble with Non-Convexity
8.4 Summary, Notes and More Reading
9. ORIENTATION
9.1 Motivation
9.2 OpenGl. Procedure to Determine Front and Back Faces
9.3 Consistently Oriented Triangulation
9.4 Culling Obscured Faces
9.5 Transformations and the Orientation of Geometric Primitives
9.6 Summary, Notes and More Reading
V Making Things Up
10 MODELING IN 3D SPACE
10.1 Curves
10.1.1 Specifying Plane Curves
10.1.2 Specifying Space Curves
10.1.3 Drawing Curves
10.1.4 Polynomial and Rational Parametrizations
10.1.5 Conic Sections
10.1.6 Curves More Formally
10.2 Surfaces
10.2.1 Polygons
10.2.2 Meshes
10.2.3 Planar Surfaces
10.2.4 General Surfaces.
10.2.5 Drawing General Surfaces
10.2.6 Swept Surfaces
10.2.7 Drawing Projects
10.2.8 Ruled Surfaces
10.2.9 Quadric Surfaces.
10.2.10 GLU Quadric Objects
10.2.11 Regular Polyhedra
10.2.12 Surfaces More Formally
10.3 Bézier Phrase Book
10.3.1 Curves
10.3.2 Surfaces
10.4 Importing Objects
10.5 Fractal
10.6 Summary, Notes and More Reading
VI Lights, Camera, Equation
11 COLOR AND LIGHT
11.1 Vision and Color Models
11.1.1 RGB Color Model
11.1.2 CMY and CMYK Color Models
11.1.3 HSV (or HSB) Color Model
11.1.4 Summary of the Models
11.2 Phong’s Lighting Model
11.2.1 Phong Basics
11.2.2 Specifying Light and Material Values
11.2.3 Calculating the Reected Light
11.2.4 First Lighting Equation
11.3 OpenGL Light and Material Properties
11.3.1 Light Properties
11.3.2 Material Properties
11.3.3 Experimenting with Properties
11.3.4 Color Material Mode
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.11.1 Polygons and Planar Surfaces
11.11.2 Meshes
11.11.3 General Surfaces
11.11.4 FreeGLUT, Bézier and Quadric Surfaces
11.11.5 Transforming Normals
11.11.6 Normalizing Normals
11.12 Phong’s Shading Model
11.13 Lighting Exercises
11.14 Summary, Notes and More Reading
12 TEXTURE
12.1 Basics
12.2 Texture Space, Coordinates and Map
12.3 Repeating and Clamping
12.4 Filtering
12.5 Specifying the Texture Map
12.5.1 Parametrized Surfaces.
12.5.2 Bézier and Quadric Surfaces
12.5.3 Spheres and Mercator Projection
12.6 Texture Matrix and Animating Textures
12.7 Lighting Textures
12.8 Multitexturing
12.9 Rendering to Texture with Framebuffer Objects
12.10 Summary, Notes and More Reading
13 SPECIAL VISUAL TECHNIQUES
13.1 Blending
13.1.1 Theory
13.1.2 Experiments
13.1.3 Opaque and Translucent Ob jects Together
13.1.4 Blending Textures
13.1.5 Creating Reflections
13.1.6 Motion Blur in World Space
13.2 Fog
13.3 Billboarding
13.4 Antialiasing Points and Lines, Multisampling Polygons
13.4.1 Antialiasing
13.4.2 Multisampling
13.5 Point Sprites
13.6 Environment Mapping: Sphere Mapping and Cube Mapping
13.6.1 Sphere Mapping
13.6.2 Cube Mapping
13.7 Stencil Buffer Techniques
13.7.1 OpenGL Buffers
13.7.2 Using the Stencil Buffer
13.8 Image Manipulation
13.9 Bump Mapping
13.10 Shadow Mapping
13.11 Summary, Notes and More Reading
VII Pixels, Pixels, Everywhere
14 RASTER ALGORITHMS
14.1 Cohen-Sutherland Line Clipper
14.2 Sutherland-Hodgman Polygon Clipper
14.3 DDA and Bresenham’s Line Rasterizers
14.4 Scan-Based Polygon Rasterizer
14.4.1 Algorithms
14.4.2 Optimizing Using Edge Coherence Active Edge List
14.5 Summary, Notes and More Reading
Programming Pipe Dreams
15 OPENGL 4.3, SHADERS AND THE PROGRAMMABLE PIPELINE: LIFTOIT
15.1 New Pipeline for OpenGL
15.1.1 Shaders in the Rendering Pipeline
15.1.2 New OpenGL.
15.2 GLSL Basics
15.3 First Core GL. 4.3 Program (Dissected)
15.4 Animation
15.5 Lighting
15.5.1 Per-Vertex Lighting
15.5.2 Per-Pixel Lighting
15.6 Textures
15.6.1 Procedural Textures
15.6.2 Specular Maps
15.6.3 Normal Maps
15.7 Summary, Notes and More Reading
16 ONGL 4.3, SHADERS AND THE PROGRAMMABLE PIPELINE: ESCAPE VELOCITY
16.1 Toolbox
16.1.1 VAOs and Instanced Rendering Instead of Display Lists
16.1.2 Clipping Planes
16.1.3 Rest of the Toolbox
16.2 Shader Control Flow
16.2.1 Shader Subroutines
16.2.2 Multiple Program Ob jects
16.3 Special Visual Techniques
16.3.1 Blending
16.3.2 Points and Sprites
16.3.3 Remaining Effects
16.4 More Animation
16.4.1 Picking
16.4.2 Transform Feedback
16.5 Tessellation Shaders
16.5.1 TCS (Tessellation Control Shader)
16.5.2 TES (Tessellation Evaluation Shader)
16.5.3 TPG (Tessellation Primitive Generator)
16.6 Geometry Shaders
16.6.1 Particle System with Transform Feedback
16.7 Summary, Notes and More Reading
IX Anatomy of Curves and Surfaces
17. Βέζια
17.1 Bézier Curves
17.1.1 Linear Bézier Curves
17.1.2 Quadratic Bézier Curves
17.1.3 Cubic Bézier Curves
17.1.4 General Bézier Curves
17.2 Bézier Surfaces
17.3 Summary, Notes and More Reading
18 B-SPLINE
18.1 Problems with Bèzier Primitives: Motivating B-Splines
18.2 B-Spline Curves
18.2.1 First-Order B-Splines
18.2.2 Linea B-Splines.
18.2.3 Quadratic B-Splines
18.2.4 Cubic B-Splines
18.2.5 General B-Splines and Non-uniform Knot Vector18.3 B-Spline Surfaces
18.4 Drawing B-Spline Curves and Surfaces
18.4.1 B-Spline Curves
18.4.2 B-Spline Surfaces
18.4.3 Lighting and Texturing a B-Spline Surface
18.4.4 Trimmed B-Spline Surface
18.5 Summary, Notes and More Reading
19 HERMITE
19.1 Hermite Splines
19.2 Natural Cubic Splines
19.3 Cardinal Splines
19.4 Hermite Surface Patches
19.5 Summary, Notes and More Reading
X Well Projected
20 APPLICATIONS OF PROJECTIVE SPACES: PROJECTION TRANSFORMATIONS AND RATIONAL CURVES
20.1 OpenGL Projection Transformations
20.1.1 Viewing Box to Canonical Viewing Box
20.1.2 Viewing Frustum to Canonical Viewing Box
20.1.3 Projection Matrix in the Pipeline
20.2 Rational Bézier and NURBS Curves and Surfaces
20.2.1 Rational Bézier Curves Basics
20.2.2 Drawing Rational Bézier Curves
20.2.3 Rational Bézier Curves and Conic Sections
20.2.4 Properties of Rational Bézier Curves
20.2.5 Rational Bézier Curves and Projective Invariance
20.2.6 Rational Bézier Curves in the Real World
20.2.7 Rational Bèzier Surfaces
20.2.8 The ‘R’ in NURBS
20.3 Summary, Notes and More Reading
XI Time for a Pipe
21 PIPELINE OPERATION
21.1 Synthetic-Camera Pipeline
21.1.1 Pipeline: Preliminary Version
21.1.2 Perspective Division by Zero
21.1.3 Rasterization with Perspectively Correct Interpolation
21.1.4 Revised Pipeline
21.1.5 OpenGL Fixed-function Pipeline
21.1.6 1D Primitive Example
21.1.7 Exercising the Pipeline
21.2 Ray Tracing Pipeline
21.2.1 Going Global: Shadows
21.2.2 Going Even More Global: Recursive Reection and Transmission
21.2.3 Implementing Ray Tracing
21.3 Radiosity
21.3.1 Introduction
21.3.2 Basic Theory
21.3.3 Computing Form Factors
21.3.4 Solving the Radiosity Equation to Determine Patch Brightnesses
21.3.5 Implementing Radiosity
21.4 Summary, Notes and More Reading
People also search for:
sumanta guha computer graphics through opengl
computer graphics through opengl from theory to experiments 4th edition
computer graphics through opengl from theory to experiments pdf
what is opengl in computer graphics
what graphics card supports opengl
Tags: Sumanta Guha, Computer Graphics, OpenGL, Theory, Experiments