OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2.1

Author:   OpenGL Architecture Review Board, et al. ,  Dave Shreiner ,  Mason Woo ,  Jackie Neider
Publisher:   Pearson Education (US)
Edition:   6th edition
ISBN:  

9780321481009


Pages:   928
Publication Date:   09 August 2007
Replaced By:   9780321552624
Format:   Paperback
Availability:   Awaiting stock   Availability explained


Our Price $184.77 Quantity:  
Add to Cart

Share |

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2.1


Add your own review!

Overview

"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: Using server-side pixel buffer objects for fast pixel rectangle download and retrieval Discussion of the sRGB texture format Expanded discussion of the OpenGL Shading Language 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."

Full Product Details

Author:   OpenGL Architecture Review Board, et al. ,  Dave Shreiner ,  Mason Woo ,  Jackie Neider
Publisher:   Pearson Education (US)
Imprint:   Addison-Wesley Educational Publishers Inc
Edition:   6th edition
Dimensions:   Width: 23.10cm , Height: 4.30cm , Length: 23.10cm
Weight:   1.332kg
ISBN:  

9780321481009


ISBN 10:   0321481003
Pages:   928
Publication Date:   09 August 2007
Audience:   College/higher education ,  Tertiary & Higher Education
Replaced By:   9780321552624
Format:   Paperback
Publisher's Status:   Out of Print
Availability:   Awaiting stock   Availability explained

Table of Contents

Figures      xxi Tables      xxv Examples      xxix About This Guide      xxxvWhat This Guide Contains      xxxv What's New in This Edition      xxxviii What You Should Know Before Reading This Guide      xxxviii How to Obtain the Sample Code      xxxix Nate Robins' OpenGL Tutors       xl Errata       xl Style Conventions       xlAcknowledgments       xliiiChapter 1: Introduction to OpenGL       1What 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 20Chapter 2: State Management and Drawing Geometric Objects       27A Drawing Survival Kit       29 Describing Points, Lines, and Polygons        37 Basic State Management       48 Displaying Points, Lines, and Polygons       50 Normal Vectors       63 Vertex Arrays       65 Buffer Objects       82 Attribute Groups       91 Some Hints for Building Polygonal Models of Surfaces       94Chpater 3: Viewing       103Overview: The Camera Analogy       106 Viewing and Modeling Transformations       117 Projection Transformations       133 Viewport Transformation       138 Troubleshooting Transformations       142 Manipulating the Matrix Stacks       145 Additional Clipping Planesv 149 Examples of Composing Several Transformations       152 Reversing or Mimicking Transformations       160Chapter 4: Color       165Color Perception       166 Computer Color       168 RGBA versus Color-Index Mode 170 Specifying a Color and a Shading Model       176Chapter 5: Lighting 183A Hidden-Surface Removal Survival Kit 185 Real-World and OpenGL Lighting 187 A Simple Example: Rendering a Lit Sphere 190 Creating Light Sources 194 Selecting a Lighting Model 207 Defining Material Properties 211 The Mathematics of Lighting 220 Lighting in Color-Index Mode 226Chapter 6: Blending, Antialiasing, Fog, and Polygon Offset       229Blending       231 Antialiasing       247 Fogv 261 Point Parameters       271 Polygon Offset v274Chapter 7: Display Lists 277Why Use Display Lists?       278 An Example of Using a Display List       279 Display List Design Philosophy v282 Creating and Executing a Display List       285 Executing Multiple Display v292 Managing State Variables with Display Lists        297Chapter 8: Drawing Pixels, Bitmaps, Fonts, and Images       301Bitmaps and Fonts       303 Images       312 Imaging Pipeline       321 Reading and Drawing Pixel Rectangles       337 Using Buffer Objects with Pixel Rectangle Data        341 Tips for Improving Pixel Drawing Rates       345 Imaging Subsetv 346Chapter 9: Texture Mapping       369An Overview and an Example       375 Specifying the Texture       380 Filtering       411 Texture Objects       414 Texture Functions       421 Assigning Texture Coordinates       425 Automatic Texture-Coordinate Generation       434 Multitexturing       443 Texture Combiner Functions       449 Applying Secondary Color after Texturing       455 Sprites       456 The Texture Matrix Stack       457 Depth Textures       459Chapter 10: The Framebuffer       465Buffers and Their Uses       468 Testing and Operating on Fragments       475 The Accumulation Bufferv 490Chapter 11: Tessellators and Quadrics       505Polygon Tessellation       506 Quadrics: Rendering Spheres, Cylinders, and Disks       523Chapter 12: Evaluators and NURBS       533Prerequisites       535 Evaluatorsv 536 The GLU NURBS Interface       550Chapter 13: Selection and Feedback       569Selection       570Feedbackv 591Chapter 14: Now That You Knowv 599Error Handling       601 Which Version Am I Using?       603 Extensions to the Standard       605 Cheesy Translucency       608 An Easy Fade Effect       608 Object Selection Using the Back Buffer       610 Cheap Image Transformation       611 Displaying Layers        612 Antialiased Characters       613 Drawing Round Points       616 Interpolating Images       616 Making Decals       616 Drawing Filled, Concave Polygons Using the Stencil Buffer       618 Finding Interference Regions       619 Shadows       621 Hidden-Line Removal       622 Texture Mapping Applications       624 Drawing Depth-Buffered Images       625 Dirichlet Domains       625 Life in the Stencil Buffer       627 Alternative Uses for glDrawPixels() and glCopyPixels()       628Chapter 15: The OpenGL Shading Language       631The OpenGL Graphics Pipeline and Programmable Shading       632 Using GLSL Shaders       636 The OpenGL Shading Language       644 Creating Shaders with GLSL       645 Accessing Texture Maps in Shaders       661 Shader Preprocessor       664Appendix A: Order of Operations       679Overview       680 Geometric Operations       681 Pixel Operations       682 Fragment Operations       683Odds and Ends       684Appendix B: State Variables       685The Query Commands       686 OpenGL State Variables       688 Appendix C: OpenGL and Window Systems       735Accessing New OpenGL Functions       736 GLX: OpenGL Extension for the X Window System       737 AGL: OpenGL Extensions for the Apple Macintosh       744 PGL: OpenGL Extension for IBM OS/2 Warp       749 WGL: OpenGL Extension for Microsoft Windows 95/98/NT/ME/2000/XP      753Appendix D: Basics of GLUT: The OpenGL Utility Toolkit       759Initializing and Creating a Window       760 Handling Window and Input Events        761 Loading the Color Map       763 Initializing and Drawing Three-Dimensional Objects       763 Managing a Background Process       765 Running the Program      765Appendix E: Calculating Normal Vectors       767Finding Normals for Analytic Surfaces       769 Finding Normals from Polygonal Data       771Appendix F: Homogeneous Coordinates and Transformation Matrices       773Homogeneous Coordinates       774 Transformation Matrices       775Appendix G: Programming Tips       779OpenGL Correctness Tips       780 OpenGL Performance Tips       782 GLX Tips 784Appendix H: OpenGL Invariance       785Appendix I: Built-In OpenGL Shading Language Variables and Functions       789Variables       790 Built-In Functions       802Glossary        815 Index       837

Reviews

Author Information

Dave Shreiner, a computer graphics specialist 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, and is coauthor of the OpenGL® Reference Manual (Addison-Wesley).

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List