OpenGL SuperBible: Comprehensive Tutorial and Reference 6th Edition
| Graham Sellers (Author) Find all the books, read about the author, and more. See search results for this author |
| Nicholas Haemel (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
OpenGL® SuperBible, Sixth Edition, is the definitive programmers guide, tutorial, and reference for the worlds leading 3D API for real-time computer graphics, OpenGL 4.3. The best all-around introduction to OpenGL for developers at all levels of experience, it clearly explains both the newest API and indispensable related concepts. Youll find up-to-date, hands-on guidance for all facets of modern OpenGL development on both desktop and mobile platforms, including transformations, texture mapping, shaders, buffers, geometry management, and much more.
Extensively revised, this edition presents many new OpenGL 4.3 features, including compute shaders, texture views, indirect draws, and enhanced API debugging. It has been reorganized to focus more tightly on the API, to cover the entire pipeline earlier, and to help you thoroughly understand the interactions between OpenGL and graphics hardware.
Coverage includes
- A practical introduction to the essentials of realtime 3D graphics
- Core OpenGL 4.3 techniques for rendering, transformations, and texturing
- Foundational math for creating interesting 3D graphics with OpenGL
- Writing your own shaders, with examples to get you started
- Cross-platform OpenGL, including essential platform-specific API initialization material for Linux, OS X, and Windows
- Vertex processing, drawing commands, primitive processing, fragments, and framebuffers
- Using compute shaders to harness todays graphics cards for more than graphics
- Monitoring and controlling the OpenGL graphics pipeline
- Advanced rendering: light simulation, artistic and non-photo-realistic rendering, and deferred shading
- Modern OpenGL debugging and performance optimization
Bonus material and sample code are available from the companion Web site,openglsuperbible.com.
Customers who viewed this item also viewed
Customers who bought this item also bought
Editorial Reviews
About the Author
Graham Sellers is a senior manager and software architect on the OpenGL driver team at AMD. He represents AMD at the ARB and has contributed to many extensions and to the core OpenGL Specification. He holds several patents in the fields of computer graphics and image processing.
Richard S. Wright, Jr., senior software engineer for Software Bisque, develops multimedia astronomy and planetarium software using OpenGL. He has written many OpenGL-based games, scientific/medical applications, database visualization tools, and educational programs. He has taught OpenGL programming at Full Sail Universitys game design degree program for over a decade.
Nicholas Haemel, senior manager of Tegra OpenGL driver development at NVIDIA, leads a development team working on NVIDIA mobile graphics drivers, represents NVIDIA at the Khronos Group standards body, has authored many OpenGL extensions, and contributed to all OpenGL specifications since version 3.0.
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Addison-Wesley Professional; 6th edition (July 21, 2013)
- Language : English
- Paperback : 796 pages
- ISBN-10 : 0321902947
- ISBN-13 : 978-0321902948
- Item Weight : 2.93 pounds
- Dimensions : 7 x 1.5 x 9.25 inches
- Best Sellers Rank: #1,820,932 in Books (See Top 100 in Books)
- #71 in OpenGL Software Programming
- #746 in Digital Video Production (Books)
- #1,453 in Computer Graphics
- Customer Reviews:
About the authors

Discover more of the author’s books, see similar authors, read author blogs and more

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Reviewed in the United States on August 7, 2021
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Be prepared for a lot of emphasis on shader programming. Face up to it: It’s the nature of the modern beast. If you’re not ready for that, one suggestion is to start with an earlier edition – one that focuses on earlier versions of OpenGL, and then grow to love it.
Having gone through many (aborigines are said to have a ternary number system: 1, 2, many) editions of the Superbible, I find it necessary to keep a copy of a corresponding Redbook (OpenGL Programming Guide) edition handy. In that sense, I find the Superbible to be an essential learning aid. But …
It was indeed unfortunate to find that the current authors and publisher continued to follow the habits of previous authors and publishers of walking away from what I view as their responsibility to their readership:
1. Others have complained about the quality of the black and white illustrations. They were correct: the printing of screenshots is terrible. The majority of the current authors are experienced authors. (a) They should have avoided the problem. (b) The editor should have caught the problem before going to press. (c) The printer should have called attention to the problem before committing to a run.
2. There is no consistent way of tying a screenshot or a code listing to a project name in the source code provided as a download on the book’s web site. I made it a point to deduce, by one means or another, the project name from the text or code if the project name was not explicitly mentioned (which was the usual case). The authors could have provided an index in the download’s README file.
3. In the Preface, an author states, “We made a bunch of mistakes – we’re certain of it. … If you think you see something that doesn’t quite gel, check the book’s Web site for errata.” I’m writing this review in June 2014, almost a year after publication of the book. There are no errata on the web site. Moreover, there is no mechanism for submitting errata.
4. The code I downloaded (dated November 2013) built on Visual Studio 2010 successfully. All but a few projects executed without error. I found the distribution for VS 2010 available on GitHub to be useless: Apparently the last person to build it built it with VS 2013. I considered submitting an issue, but got discouraged when I saw that the last commits were made seven or eight months ago.
5. The book’s Appendix C describes two tools, ktxtool and dds2ktx, which it says is available in the source code. Not so.
6. I searched for but could not find an OpenGL Superbible forum. The best I could find was the general OpenGL forum. The last blog entry on the book’s web site is dated February 2014. Apparently the authors have better things to do.
In scoring a rating for this edition of the OpenGL Superbible, I started with five stars. After all, I consider it and the Redbook to be essential components to learning OpenGL. Then, because of the lousy illustrations and the authors’ neglect, I backed off two stars. A one-star deduction would not have been enough.
It occurs to me that all of the problems enumerated above could be resolved on the book’s web site. I would be glad to improve my rating if the authors (or even someone else) would step up to addressing them.
If the book were titled the SB6 Library superbible, It would have been ok but after reading the claims at the beginning of the book stating that this book is meant to go over the OpenGL library without jumping back and fourth I couldn't help but wonder why the authors chose to include their own library which defeats that purpose to some extent.
Granted the library simplifies things but that's not the purpose of a book. Since the target audience is already familiar with C++, there's no need to wrap the main() function for example, which I find unnecessary. This may be fine for the author but we all have different styles of coding and it's not the author's place to force a framework in order to explain how the OpenGL pipeline works.
This is a book about OpenGL and the code should run out of the box with dependencies to OpenGL, GLUT and GLFW being acceptable. If the authors chose to develop a wrapper library, the library should be part of the text as an illustration to how things are put together. Also what would be more acceptable is if the sb6 library's cpp source code was available to view instead of distributing a black box which may confuse the reader.
Also when adding shader code, the authors fail to mention the appropriate code updates to the rendering functions which can be a bit inconvenient. Also failure to delete compiled shaders in one of the examples shoud be avoided.
The OpenGL pipeline is getting more and more complex and I can see the appeal in simplifying it by making it more accessible but writing a book about a library and forcing a black box framework is unacceptable. This book does explain things well I must admit but for experienced C++ and OpenGL users, I recommend the Red Book for a more thorough read and detailed reference.
There has been a lot of unbridled dissatisfaction with former versions of this book. Some of it has undeniable validity, and I think that none of it applies to this version. The 780 pages of this book cover the OpenGL API very well and provide enough examples of the more complex operations to satisfy all but the most hardened curmudgeon. Look, the subject fills a full year of study, so don't expect any author to provide the full 2500 pages it deserves. A lot of thinking and experimenting is required to master this subject for any API. It's not a one stop or single volume operation. I cover both DirectX and OpenCL API references in my work and this book is the OpenCL reference to have on your shelf.
Top reviews from other countries
Wie viele andere Rezensenten bisher anmerkten, nutzt dieses Buch einen von den Autoren selbstgeschriebenen C++ Wrapper, welcher Initialisierungsdetails von OpenGL weg abstrahiert. Da ich gerne solche Details verstehen wollte, weil ich zudem Schwierigkeiten hatte, diesen Wrapper erfolgreich zu kompilieren und weil ich zunächst gerne C benutzen wollte, habe ich mir mittels GLFW und GLXW (es sind aber auch andere Libraries denkbar), selbst einen geschrieben. Dies würde ich auch anderen Lesern empfehlen, da dies doch nicht so schwer ist und man am Ende eine simplere Ausgangsbasis hat als diese Wrapper-Struktur der Autoren.
Für dieses Buch benötigt man außerdem relativ viel Durchhaltevermögen. Es dauert sehr lange, bis man endlich mal halbwegs versteht, wie OpenGL funktioniert. Insbesondere Kapitel 5 hat sich sehr lange hingezogen und es wird sehr auf Details eingegangen, welche vom Gesamtüberblick ablenken. Ich schätze aber mal, dass dies der Natur der Sache entspringt. Modernes OpenGL ist eine komplizierte API und Computergrafik ein kompliziertes Thema.
Weiterhin befinden sich keine Übungsaufgaben in diesem Buch, weshalb eigene Experimente unerlässlich sind, um das Gelesene zu verstehen und zu behalten. Hierbei empfinde ich es als störend, dass die OpenGL-Funktionen oft relativ zusammenhangslos in den Text eingestreut wurden. So ist mir nicht immer ganz klar wann diese Funktionen aufgerufen werden sollten und wie diese in Beziehung zum Rest des Codes stehen. Hierbei helfen allerdings die Beispiel-Programme der Autoren (befinden sich auf Github bzw. der Website des Buches).
Ich habe bisher kein besseres Buch zu modernem OpenGL entdeckt, von daher würde ich trotzdem dieses Buch weiterempfehlen.
Zudem würde ich empfehlen, Lineare Algebra und dessen Anwendung in der Computergrafik zu erlernen. Ich denke, dass das ganze Thema deutlich leichter zu erlernen ist, wenn man schon eine grobe Idee hat, wie das alles theoretisch funktionieren könnte. Das Kapitel in diesem Buch über die mathematischen Hintergründe ist, meiner Meinung nach, nicht zufriedenstellend und rät dem Leser einfach die Mathematik-Funktionen des Wrappers zu benutzen.







