Includes Complete Coverage of the OpenGL® Shading Language! Today’s OpenGL software interface enables programmers to produce extraordinarily high-quality computer-generated images and interactive applications using 2D and 3D objects, color images, and programmable shaders. OpenGL® Programming The Official Guide to Learning OpenGL®, Version 4.3, Eighth Edition, has been almost completely rewritten and provides definitive, comprehensive information on OpenGL and the OpenGL Shading Language. This edition of the best-selling “Red Book” describes the features through OpenGL version 4.3. It also includes updated information and techniques formerly covered in OpenGL® Shading Language (the “Orange Book”). For the first time, this guide completely integrates shader techniques, alongside classic, functioncentric techniques. Extensive new text and code are presented, demonstrating the latest in OpenGL programming techniques. OpenGL® Programming Guide, Eighth Edition, provides clear explanations of OpenGL functionality and techniques, including processing geometric objects with vertex, tessellation, and geometry shaders using geometric transformations and viewing matrices; working with pixels and texture maps through fragment shaders; and advanced data techniques using framebuffer objects and compute shaders. New OpenGL features covered in this edition include
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 Edward 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. More recently, Dave joined long-time collaborator and fellow author, Ed Angel, in updating his textbook - "Interactive Computer Graphics: A top-down approach using WebGL", as well as presenting courses at Sonoma State University on computer graphics and parallel programming. In addition to his part-time job writing and presenting courses, Dave is a senior manager at Unity Technologies, leading their low-level graphics APIs team. Dave & Vicki live with their cat family in California's Sonoma wine country.
The book is just as its title implies, a programming guide. It acts more as a reference than as a learning material. It's suitable more for someone who's already familiar with openGL API and just wants to check a couple of details about a certain feature or aspect, or someone making a come back to refresh his/her knowledge. It doesn't help however for prospective newbies aspiring to pick up basic principles of openGL and how to start using it in their application.
The book mostly focuses on API's that have been deprecated. This's evident in the many function descriptions in every chapter marked by compatibility extension notes. It isn't very helpful for the reader to learn about deprecated API. Even the most important and relevant part to contemporary implementations, GLSL and shaders, come at the very last chapter.