Home > Store > Programming > Graphic Programming
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, 7th Edition
- By Dave Shreiner, Bill The Khronos OpenGL ARB Working Group
- Published Jul 21, 2009 by Addison-Wesley Professional. Part of the OpenGL series.
- Copyright 2010
- Dimensions: 7 X 9-1/8
- Pages: 936
- Edition: 7th
- Book
- ISBN-10: 0-321-55262-8
- ISBN-13: 978-0-321-55262-4
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Dave 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.
Video
An interview with author Dave Shreiner at SIGGRAPH 2009.
You need to upgrade your Flash Player. You need version 9 or above to view this video. You may download it here. You may also see this message if you have JavaScript turned off. If this is the case, please enable JavaScript and reload the page.
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
- Using framebuffer objects for off-screen rendering and texture updates
- Examples of the various new buffer object types, including uniform-buffer objects, transform feedback buffers, and vertex array objects
- Using texture arrays to increase performance when using numerous textures
- Efficient rendering using primitive restart and conditional rendering
- Discussion of OpenGL’s deprecation mechanism and how to verify your programs for future versions of OpenGL
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.
Downloads
Download Appendix E: Order of Operations
Download Appendix F: Programming Tips
Download Appendix G: OpenGL Invariance
Download Appendix H: Calculating Normal Vectors
Download Appendix I: Built-In OpenGL Shading Language Variables and Functions
Download Appendix J: Floating-Point Formats for Textures, Framebuffers, and Renderbuffers
Web Resources
Please visit www.opengl-redbook.com/appendices/ to access the appendices online.
|
47 of 47 people found the following review helpful
By The Gecko (Colorado) - See all my reviews
This review is from: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 (7th Edition) (Paperback)
Much like the other reviewer, I have to admit being underwhelmed. Back at the OpenGL BOF at Siggraph in 2008, it was announced that the authors were working on an updated "Red Book". I waited patiently for this new edition, fully expecting a book that concisely covered the new 3.0-3.1 openGL api programming philosophy. Having used the Red Books for 6 years now, I looked forward to a straightforward narrative that would be easier to read than the spec and a pile of extensions.Now, to give credit where it's due, this book does talk about the new APIs, (hence the 3 stars). But it is unfortunately littered with page after page of material on deprecated API bits. I can't imagine why the authors would do this, apart from maybe the publisher pushing a page count? [...edit - I went on and on...] Anyway, guys, please, if you're reading this, in the next edition, trim the fat. If it's not 3.1-compliant, cut it out. There are plenty of 2.1 references out... Read more
24 of 24 people found the following review helpful
This review is from: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 (7th Edition) (Paperback)
I have been relying on the red books for years. I am fairly disappointed with this particular edition because most of the book, as others have pointed out, covers deprecated APIs. Personally I don't mind that, since we are likely to encounter legacy code, may also need to port it, and an understanding of the history can be useful. The trouble is not with the deprecated APIs, it's with the authors often not explaining what it has been superseded by. The chapter on selection and feedback is a perfect example of this. A chapter will go on for several dozen pages, but begin with a small note at the beginning of the chapter with words to the effect of "everything you are about to read is deprecated".
35 of 38 people found the following review helpful
By
This review is from: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 (7th Edition) (Paperback)
Extremely disappointed with this book. I was eagerly looking forward to this book hoping that this would enable me to learn the new programming model of OpenGL ( programmable pipe-line )which is substantially different from the previous versions. The initial description of this book ( before it was actually released )had mentioned that this edition would have 70% new material ( text and code ) and would completely cover the new approach. Not sure as to what happened but this book is mostly a re-print of the 6th edition with a small table next to each API which indicates whether the API is deprecated or not ( Most of it are deprecated and I'm not sure why we need a book that explains all the deprecated API's and how to program with deprecated features). Will wait for OpenGL SuperBible 5th Edition now ( Hopefully there is something like that in the works ).
|
› See all 10 customer reviews...
Online Sample Chapter
OpenGL Programming Guide: State Management and Drawing Geometric Objects
Table of Contents
Figures 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
Sample Pages
Download the sample pages (includes Chapter 2 and Index)

This book includes free shipping!
This book includes free shipping!
eBook (Watermarked)
$47.99
$38.39
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
- Request an Instructor or Media review copy.
- Corporate, Academic, and Employee Purchases
- International Buying Options
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.

