Cover image for Advanced Graphics Programming Using OpenGL.
Advanced Graphics Programming Using OpenGL.
Title:
Advanced Graphics Programming Using OpenGL.
Author:
McReynolds, Tom.
ISBN:
9780080475721
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (673 pages)
Series:
The Morgan Kaufmann Series in Computer Graphics
Contents:
Front Cover -- Advanced Graphics Programming Using OpenGL -- Copyright Page -- Contents -- Preface -- Acknowledgments -- Biographies -- Part I: Concepts -- Chapter 1. Geometry Representation and Modeling -- 1.1 Polygonal Representation -- 1.2 Decomposition and Tessellation -- 1.3 Shading Normals -- 1.4 Triangle Stripping -- 1.5 Vertices and Vertex Arrays -- 1.6 Modeling vs. Rendering Revisited -- Chapter 2. 3D Transformations -- 2.1 Data Representation -- 2.2 Overview of the Transformation Pipeline -- 2.3 Normal Transformation -- 2.4 Texture Coordinate Generation and Transformation -- 2.5 Modeling Transforms -- 2.6 Visualizing Transform Sequences -- 2.7 Projection Transform -- 2.8 The Z Coordinate and Perspective Projection -- 2.9 Vertex Programs -- 2.10 Summary -- Chapter 3. Color, Shading, and Lighting -- 3.1 Representing Color -- 3.2 Shading -- 3.3 Lighting -- 3.4 Fixed-Point and Floating-Point Arithmetic -- 3.5 Summary -- Chapter 4.Digital Images and Image Manipulation -- 4.1 Image Representation -- 4.2 Digital Filtering -- 4.3 Convolution -- 4.4 Images in OpenGL -- 4.5 Positioning Images -- 4.6 Pixel Store Operations -- 4.7 Pixel Transfer Operations -- 4.8 ARB Imaging Subset -- 4.9 Off-Screen Processing -- 4.10 Summary -- Chapter 5. Texture Mapping -- 5.1 Loading Texture Images -- 5.2 Texture Coordinates -- 5.3 Loading Texture Images from the Frame Buffer -- 5.4 Environment Mapping -- 5.5 3D Texture -- 5.6 Filtering -- 5.7 Additional Control of Texture Level of Detail -- 5.8 Texture Objects -- 5.9 Multitexture -- 5.10 Texture Environment -- 5.11 Summary -- Chapter 6. Rasterization and Fragment Processing -- 6.1 Rasterization -- 6.2 Fragment Operations -- 6.3 Framebuffer Operations -- 6.4 Summary -- Chapter 7. Window System and Platform Integration -- 7.1 Renderer and Window State -- 7.2 Address Space and Threads -- 7.3 Anatomy of a Window.

7.4 Off-Screen Rendering -- 7.5 Rendering to Texture Maps -- 7.6 Direct and Indirect Rendering -- Chapter 8. OpenGL Implementations -- 8.1 OpenGL Versions -- 8.2 OpenGL Extensions -- 8.3 OpenGL ES for Embedded Systems -- 8.4 OpenGL Pipeline Evolution -- 8.5 Hardware Implementations of the Pipeline -- 8.6 The Future -- Part II: Basic Techniques -- Chapter 9. Multiple Rendering Passes -- 9.1 Invariance -- 9.2 Multipass Overview -- 9.3 The Multipass Toolbox -- 9.4 Multipass Limitations -- 9.5 Multipass vs. Micropass -- 9.6 Deferred Shading -- 9.7 Summary -- Chapter 10. Antialiasing -- 10.1 Full-Scene Antialiasing -- 10.2 Supersampling -- 10.3 Area Sampling -- 10.4 Line and Point Antialiasing -- 10.5 Antialiasing with Textures -- 10.6 Polygon Antialiasing -- 10.7 Temporal Antialiasing -- 10.8 Summary -- Chapter 11. Compositing, Blending, and Transparency -- 11.1 Combining Two Images -- 11.2 Other Compositing Operators -- 11.3 Keying and Matting -- 11.4 Blending Artifacts -- 11.5 Compositing Images with Depth -- 11.6 Other Blending Operations -- 11.7 Dissolves -- 11.8 Transparency -- 11.9 Alpha-Blended Transparency -- 11.10 Screen-Door Transparency -- 11.11 Summary -- Chapter 12. Image Processing Techniques -- 12.1 OpenGL Imaging Support -- 12.2 Image Storage -- 12.3 Point Operations -- 12.4 Region-based Operations -- 12.5 Reduction Operations -- 12.6 Convolution -- 12.7 Geometric Operations -- 12.8 Image-Based Depth of Field -- 12.9 High Dynamic Range Imaging -- 12.10 Summary -- Chapter 13. Basic Transform Techniques -- 13.1 Computing Inverse Transforms Efficiently -- 13.2 Stereo Viewing -- 13.3 Depth of Field -- 13.4 Image Tiling -- 13.5 Billboarding Geometry -- 13.6 Texture Coordinate vs. Geometric Transformations -- 13.7 Interpolating Vertex Components through a Perspective Transformation -- 13.8 Summary -- Chapter 14. Texture Mapping Techniques.

14.1 Loading Texture Images into a Framebuffer -- 14.2 Optimizing Texture Coordinate Assignment -- 14.3 3D Textures -- 14.4 Texture Mosaics -- 14.5 Texture Tiling -- 14.6 Texture Paging -- 14.7 Prefiltered Textures -- 14.8 Dual-Paraboloid Environment Mapping -- 14.9 Texture Projection -- 14.10 Texture Color Coding and Contouring -- 14.11 2D Image Warping -- 14.12 Texture Animation -- 14.13 Detail Textures -- 14.14 Texture Sharpening -- 14.15 Mipmap Generation -- 14.16 Texture Map Limits -- 14.17 Summary -- Chapter 15. Lighting Techniques -- 15.1 Limitations in Vertex Lighting -- 15.2 Fragment Lighting Using Texture Mapping -- 15.3 Spotlight Effects Using Projective Textures -- 15.4 Specular Lighting Using Environment Maps -- 15.5 Light Maps -- 15.6 BRDF-based Lighting -- 15.7 Reflectance Maps -- 15.8 Per-fragment Lighting Computations -- 15.9 Other Lighting Models -- 15.10 Bump Mapping with Textures -- 15.11 Normal Maps -- 15.12 Bump-mapped Reflections -- 15.13 High Dynamic Range Lighting -- 15.14 Global Illumination -- 15.15 Summary -- Part III: Advanced Techniques -- Chapter 16. CAD and Modeling Techniques -- 16.1 Picking and Highlighting -- 16.2 Culling Techniques -- 16.3 Occlusion Culling -- 16.4 Geometric Level of Detail -- 16.5 Visualizing Surface Orientation -- 16.7 Line Rendering Techniques -- 16.8 Coplanar Polygons and Decaling -- 16.9 Capping Clipped Solids -- 16.10 Constructive Solid Geometry -- Chapter 17. Scene Realism -- 17.1 Reflections -- 17.2 Refraction -- 17.3 Creating Environment Maps -- 17.4 Shadows -- 17.5 Summary -- Chapter 18. Natural Detail -- 18.1 Particle Systems -- 18.2 Dynamic Meshes -- 18.3 Procedural Texture Generation -- 18.4 Summary -- Chapter 19. Illustration and Artistic Techniques -- 19.1 Projections for Illustration -- 19.2 Nonphotorealistic Lighting Models -- 19.3 Edge Lines -- 19.4 Cutaway Views.

19.5 Depth Cuing -- 19.6 Patterns and Hatching -- 19.7 2D Drawing Techniques -- 19.8 Text Rendering -- 19.9 Drawing and Painting -- 19.10 Summary -- Chapter 20. Scientific Visualization -- 20.1 Mapping Numbers to Pictures -- 20.2 Visual Cues and Perception -- 20.3 Data Characterization -- 20.4 Point Data Visualization -- 20.5 Scalar Field Visualization -- 20.6 Vector Field Visualization -- 20.7 Tensor Field Visualization -- 20.8 Summary -- Chapter 21. Structuring Applications for Performance -- 21.1 Structuring Graphics Processing -- 21.2 Managing Frame Time -- 21.3 Application Performance Tuning -- 21.4 Summary -- Appendix A. Using OpenGL Extensions -- A.1 How OpenGL Extensions are Documented -- A.2 Finding OpenGL Extension Specifications -- A.3 How to Read an OpenGL Extension Specification -- A.4 Portable Use of OpenGL Extensions -- A.5 Using Extension Function Pointers -- Appendix B Equations -- B.1 3D Vectors -- B.2 Projection Matrices -- B.3 Viewing Transforms -- B.4 Modeling Transforms -- B.5 Parallel and Perpendicular Vectors -- B.6 Reflection Vector -- B.7 Lighting Equations -- B.8 Function Approximations -- Bibliography -- Subject Index.
Abstract:
Today truly useful and interactive graphics are available on affordable computers. While hardware progress has been impressive, widespread gains in software expertise have come more slowly. Information about advanced techniques-beyond those learned in introductory computer graphics texts-is not as easy to come by as inexpensive hardware. This book brings the graphics programmer beyond the basics and introduces them to advanced knowledge that is hard to obtain outside of an intensive CG work environment. The book is about graphics techniques-those that don't require esoteric hardware or custom graphics libraries-that are written in a comprehensive style and do useful things. It covers graphics that are not covered well in your old graphics textbook. But it also goes further, teaching you how to apply those techniques in real world applications, filling real world needs. * Emphasizes the algorithmic side of computer graphics, with a practical application focus, and provides usable techniques for real world problems. * Serves as an introduction to the techniques that are hard to obtain outside of an intensive computer graphics work environment. * Sophisticated and novel programming techniques are implemented in C using the OpenGL library, including coverage of color and lighting; texture mapping; blending and compositing; antialiasing; image processing; special effects; natural phenomena; artistic and non-photorealistic techniques, and many others. * Code fragments are used in the book, and full blown example programs for virtually every algorithm are available at www.mkp.com/opengl.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Added Author:
Electronic Access:
Click to View
Holds: Copies: