|
This item may be
Check for Availabilityout of stock. Click on the button below to search for this title in other formats. Other titles in the OpenGL series:
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2.1 (OpenGL)
Synopses & ReviewsPublisher Comments:OpenGL is a powerful software interface used to produce high-quality, computer-generated images and interactive applications using 2D and 3D objects, bitmaps, and color images.
The OpenGL®Programming Guide, Seventh Edition, provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. The previous edition covered OpenGL through Version 2.1. This seventh edition of the best-selling “red book” describes the latest features of OpenGL Versions 3.0 and 3.1. You will find clear explanations of OpenGL functionality and many basic computer graphics techniques, such as building and rendering 3D models; interactively viewing objects from different perspective points; and using shading, lighting, and texturing effects for greater realism. In addition, this book provides in-depth coverage of advanced techniques, including texture mapping, antialiasing, fog and atmospheric effects, NURBS, image processing, and more. The text also explores other key topics such as enhancing performance, OpenGL extensions, and cross-platform techniques.
This seventh edition has been updated to include the newest features of OpenGL Versions 3.0 and 3.1, including
This edition continues the discussion of the OpenGL Shading Language (GLSL) and explains the mechanics of using this language to create complex graphics effects and boost the computational power of OpenGL. The OpenGL Technical Library provides tutorial and reference books for OpenGL. The Library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. Originally developed by SGI, the Library continues to evolve under the auspices of the Khronos OpenGL ARB Working Group, an industry consortium responsible for guiding the evolution of OpenGL and related technologies.
Synopsis:This boxed set includes
Synopsis:OpenGL® Programming Guide, Sixth EditionOpenGL is a powerful software interface used to produce high-quality, computergenerated images and interactive applications using 2D and 3D objects, bitmaps, and color images. The OpenGL® Programming Guide, Sixth Edition, provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. The previous edition covered OpenGL through Version 2.0. This sixth edition of the best-selling "red book" describes the latest features of OpenGL Version 2.1. You will find clear explanations of OpenGL functionality and many basic computer graphics techniques, such as building and rendering 3D models; interactively viewing objects from different perspective points; and using shading, lighting, and texturing effects for greater realism. In addition, this book provides in-depth coverage of advanced techniques, including texture mapping, antialiasing, fog and atmospheric effects, NURBS, image processing, and more. The text also explores other key topics such as enhancing performance, OpenGL extensions, and cross-platform techniques. This sixth edition has been updated to include the newest features of OpenGL Version 2.1, including:
This edition continues the discussion of the OpenGL Shading Language (GLSL) and explains the mechanics of using this language to create complex graphics effects and boost the computational power of OpenGL. The OpenGL Technical Library provides tutorial and reference books for OpenGL. The Library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. Originally developed by SGI, the Library continues to evolve under the auspices of the OpenGL Architecture Review Board (ARB) Steering Group (now part of the Khronos Group), an industry consortium responsible for guiding the evolution of OpenGL and related technologies. About the AuthorDave Shreiner, director of graphics technology at ARM, Inc., was a longtime member of the core OpenGL team at SGI. He authored the first commercial OpenGL training course and has been developing computer graphics applications for more than two decades. Dave regularly presents at SIGGRAPH and other conferences worldwide. He is coauthor of the OpenGL ES 2.0 Programming Guide (Addison-Wesley, 2009) and the OpenGL® Reference Manual (Addison-Wesley, 2004), and is series editor for Addison-Wesley’s OpenGL Series. Table of ContentsFigures xxi
Tables xxv Examples xxix About This Guide xxxv Acknowledgments xlv
Chapter 1: Introduction to OpenGL 1 What Is OpenGL? 2 A Smidgen of OpenGL Code 5 OpenGL Command Syntax 7 OpenGL as a State Machine 9 OpenGL Rendering Pipeline 10 OpenGL-Related Libraries 14 Animation 22 OpenGL and Its Deprecation Mechanism 27
Chapter 2: State Management and Drawing Geometric Objects 31 A Drawing Survival Kit 34 Describing Points, Lines, and Polygons 42 Basic State Management 53 Displaying Points, Lines, and Polygons 55 Normal Vectors 68 Vertex Arrays 70 Buffer Objects 91 Vertex-Array Objects 104 Attribute Groups 110 Some Hints for Building Polygonal Models of Surfaces 113
Chapter 3: Viewing 123 Overview: The Camera Analogy 126 Viewing and Modeling Transformations 137 Projection Transformations 152 Viewport Transformation 158 Troubleshooting Transformations 162 Manipulating the Matrix Stacks 164 Additional Clipping Planes 168 Examples of Composing Several Transformations 172 Reversing or Mimicking Transformations 179
Chapter 4: Color 185 Color Perception 186 Computer Color 188 RGBA versus Color-Index Mode 190 Specifying a Color and a Shading Model 196
Chapter 5: Lighting 203 A Hidden-Surface Removal Survival Kit 205 Real-World and OpenGL Lighting 207 A Simple Example: Rendering a Lit Sphere 210 Creating Light Sources 214 Selecting a Lighting Model 227 Defining Material Properties 231 The Mathematics of Lighting 240 Lighting in Color-Index Mode 246
Chapter 6: Blending, Antialiasing, Fog, and Polygon Offset 249 Blending 251 Antialiasing 267 Fog 280 Point Parameters 291 Polygon Offset 293
Chapter 7: Display Lists 297 Why Use Display Lists? 298 An Example of Using a Display List 299 Display List Design Philosophy 302 Creating and Executing a Display List 305 Executing Multiple Display Lists 312 Managing State Variables with Display Lists 318
Chapter 8: Drawing Pixels, Bitmaps, Fonts, and Images 321 Bitmaps and Fonts 323 Images 333 Imaging Pipeline 343 Reading and Drawing Pixel Rectangles 359 Using Buffer Objects with Pixel Rectangle Data 362 Tips for Improving Pixel Drawing Rates 366 Imaging Subset 367
Chapter 9: Texture Mapping 389 An Overview and an Example 395 Specifying the Texture 400 Filtering 434 Texture Objects 437 Texture Functions 444 Assigning Texture Coordinates 448 Automatic Texture-Coordinate Generation 457 Multitexturing 467 Texture Combiner Functions 472 Applying Secondary Color after Texturing 478 Point Sprites 479 The Texture Matrix Stack 481 Depth Textures 483
Chapter 10: The Framebuffer 489 Buffers and Their Uses 492 Testing and Operating on Fragments 501 The Accumulation Buffer 518 Framebuffer Objects 526
Chapter 11: Tessellators and Quadrics 541 Polygon Tessellation 542 Quadrics: Rendering Spheres, Cylinders, and Disks 559
Chapter 12: Evaluators and NURBS 569 Prerequisites 571 Evaluators 572 The GLU NURBS Interface 586
Chapter 13: Selection and Feedback 605 Selection 606 Feedback 627
Chapter 14: Now That You Know 635 Error Handling 637 Which Version Am I Using? 639 Extensions to the Standard 641 Cheesy Translucency 644 An Easy Fade Effect 645 Object Selection Using the Back Buffer 646 Cheap Image Transformation 647 Displaying Layers 649 Antialiased Characters 650 Drawing Round Points 653 Interpolating Images 653 Making Decals 653 Drawing Filled, Concave Polygons Using the Stencil Buffer 655 Finding Interference Regions 656 Shadows 658 Hidden-Line Removal 659 Texture Mapping Applications 661 Drawing Depth-Buffered Images 662 Dirichlet Domains 662 Life in the Stencil Buffer 664 Alternative Uses for glDrawPixels() and glCopyPixels() 665
Chapter 15: The OpenGL Shading Language 667 The OpenGL Graphics Pipeline and Programmable Shading 668 Using GLSL Shaders 672 The OpenGL Shading Language 681 Creating Shaders with GLSL 681 Uniform Blocks 692 Accessing Texture Maps in Shaders 707 Shader Preprocessor 711 Extension Processing in Shaders 714 Vertex Shader Specifics 715 Transform Feedback 722 Fragment Shader Specifics 727
Appendix A: Basics of GLUT: The OpenGL Utility Toolkit 731 Initializing and Creating a Window 732 Handling Window and Input Events 733 Loading the Color Map 735 Initializing and Drawing Three-Dimensional Objects 735 Managing a Background Process 736 Running the Program 737
Appendix B: State Variables 739 The Query Commands 740 OpenGL State Variables 743
Appendix C: Homogeneous Coordinates and Transformation Matrices 803 Homogeneous Coordinates 804 Transformation Matrices 805
Appendix D: OpenGL and Window Systems 809 Accessing New OpenGL Functions 810 GLX: OpenGL Extension for the X Window System 812 AGL: OpenGL Extensions for the Apple Macintosh 819 WGL: OpenGL Extension for Microsoft Windows 95/98/NT/ME/2000/XP 824
Glossary 831 Index 857
The following appendices are available online at http://www.opengl-redbook.com/appendices/.
Appendix E: Order of Operations Appendix F: Programming Tips Appendix G: OpenGL Invariance Appendix H: Calculating Normal Vectors Appendix I: Built-In OpenGL Shading Language Variables and Functions Appendix J: Floating-Point Formats for Textures, Framebuffers, and Renderbuffers Appendix K: RGTC Compressed Texture Format Appendix L: std140 Uniform Buffer Layout What Our Readers Are SayingBe the first to add a comment for a chance to win!Product Details
|
|||
|
|
||||
|
|
||||