You’ve got a Kindle.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer - no Kindle device required. Learn more.
Read instantly on your browser with Kindle Cloud Reader.
Using your mobile phone camera - scan the code below and download the Kindle app.
Enter your mobile phone or email address
By pressing ‘Send link’, you agree to Amazon's Conditions of Use.
You consent to receive an automated text message from or on behalf of Amazon about the Kindle App at your mobile number above. Consent is not a condition of any purchase. Message and data rates may apply.
Follow the author
OK
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2.1 Paperback – 30 July 2007
| Dave Shreiner (Author) See search results for this author |
There is a newer edition of this item:
OpenGL 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.
- ISBN-100321481003
- ISBN-13978-0321481009
- Edition6th
- PublisherAddison Wesley
- Publication date30 July 2007
- LanguageEnglish
- Dimensions17.78 x 4.45 x 22.86 cm
- Print length928 pages
Product description
From the Back Cover
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, 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, including expanded coverage of the OpenGL Shading Language. 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 Versions 2.1, including:
- Using server-side pixel buffers 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.
About the Author
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).
I’d like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
![]() |
Product details
- Publisher : Addison Wesley; 6th edition (30 July 2007)
- Language : English
- Paperback : 928 pages
- ISBN-10 : 0321481003
- ISBN-13 : 978-0321481009
- Dimensions : 17.78 x 4.45 x 22.86 cm
- Best Sellers Rank: 2,016,736 in Books (See Top 100 in Books)
- 1,858 in Games Programming
- 1,889 in General Introduction to Programming
- 1,925 in Graphics & Multimedia Programming
- Customer reviews:
About the author

Dave Shreiner started his graphics career hacking on a Commodore 64 back in 1981 (a mere 15 years after his birth [yes, late by today's standards], but computers weren't prevalent in Etters, Pennsylvania at that time). Things started to get interesting at the University of Delaware in 1988, where he got to work on his (well, his employer's) first Silicon Graphics Computer Systems ("SGI" to those how know and loved them) machine (a 4D/220GTX running at 25MHz). Combining his love of science, mathematics, and video games, his first graphics programs were for visualizing molecules.
After a somewhat tumultuous college career, Dave went on to do more work on SGI machines doing flight simulation and user-interface design. As that work dried up, he joined SGI in 1991 helping graphics programmers work with Iris GL (OpenGL's predecessor). His career continued as he began teaching classes on Iris GL, user-interface design, and parallel and real-time programming, all the while being mentored by Mason Woo. Around the same time, he was introduced to the fledgling OpenGL API being developed, and asked to author an introductory course on the subject.
Around the same time, he met Vicki - his future wife - eventually mentoring her in OpenGL programming. Not long after, they wed, and formed a family mostly composed of felines.
In 1997, Dave joined forces with Mason in his first writing activity as they updated the "OpenGL Programming Guide" (the "Red Book") to its third edition. At the same time, Mason and co-presenter Ed Angel (author of "Interactive Computer Graphics: A top-down approach using OpenGL") added Dave into their SIGGRAPH (the annual computer graphics conference) course team, and so the mayhem began.
Over the next decade, Dave continued to work at SGI in various roles, including OpenGL driver development for many of their products. He also updated the "OpenGL Programming Guide" three more times, and was involved in presenting another 13 SIGGRAPH courses on OpenGL (and countless others at other conferences). Also during this time, Addison-Wesley - the publisher of the "OpenGL Programming Guide" and numerous other books related to OpenGL - made him series editor for their OpenGL library, allowing him to provide direction and input into their books relating to OpenGL.
In 2006, Dave's career steered to a new vector, as he went off to do work on GPU computing. At the same time, he also worked as chair of SIGGRAPH's courses program (as well as once again presenting a course).
While GPU computing was increasing in relevance, Dave felt that mobile computer graphics was on the cusp of becoming an even bigger thing, and joined ARM's (the embedded CPU company) graphics group to directly contribute to the fray. Soon after, he became involved with OpenGL ES, the embedded version of OpenGL. At the same time, he contributed to the "OpenGL ES 2.0 Programming Guide", and began presenting courses on OpenGL's embedded version.
Most recently, Dave joined long-time collaborator and fellow author, Ed Angel, in updating his textbook - "Interactive Computer Graphics" - to a new shader-only format, and is currently working on revising the "OpenGL Programming Guide" to reflect the most recent changes in OpenGL.
Dave lives with Vicki and their cat Phantom, splitting their time between their home in Mountain View and Sonoma County in California's wine country.
Customer reviews
Top reviews from United Kingdom
There was a problem filtering reviews right now. Please try again later.
This comes with one or two questionable implications. Firstly, the authors, being the authoritative source, are obliged to cover the entirety of the OpenGL interface, even though portions of it are now obsolete, having been supplanted in practice by newer techniques. The older methods are still present, and are described here on an equal footing with the later additions.
Similarly, to avoid getting embroiled in the idiosyncrasies of any particular vendor's implementation of OpenGL, there is never more than an occasional vague allusion to the potential performance implications of using one approach over another. The concept of using vertex arrays is covered in a general-principles sort of way, as are vertex buffer objects, with the admonition to "prefer them over explicit calls to glVertex() for performance" buried in a single sentence in an appendix-like chapter near the end. The idea that rendering primitives of GL_TRIANGLES is heavily optimised on modern graphics cards receives no mention, from which I mistakenly inferred that other primitive types, such as GL_TRIANGLE_STRIPs, with their lower apparent vertex counts, are a preferable alternative.
This egalitarian presentation means that the book can rightly claim to be an unbiased description of OpenGL the interface, and is lent a long-term relevance by giving no bias towards any particular vendor, nor being subject to the fashions of rendering techniques that sweep through the industry every few years. On the other hand, it also means that the book is considerably larger than most people learning OpenGL will need, and fails to cover many of the vastly performance-enhancing techniques that have become standard throughout the industry.

