Little Beast - Shop now
Buy used:
$21.58
FREE delivery December 20 - 26. Details
Or fastest delivery December 19 - 23. Details
Arrives before Christmas
Used: Acceptable | Details
Condition: Used: Acceptable
Comment: Readable copy. Pages may have considerable notes/highlighting. ~ ThriftBooks: Read More, Spend Less
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

OpenGL Shading Language (3rd Edition) 3rd Edition

4.1 4.1 out of 5 stars 25 ratings

OpenGL® Shading Language, Third Edition, extensively updated for OpenGL 3.1, is the experienced application programmer’s guide to writing shaders. Part reference, part tutorial, this book thoroughly explains the shift from fixed-functionality graphics hardware to the new era of programmable graphics hardware and the additions to the OpenGL API that support this programmability. With OpenGL and shaders written in the OpenGL Shading Language, applications can perform better, achieving stunning graphics effects by using the capabilities of both the visual processing unit and the central processing unit.

In this book, you will find a detailed introduction to the OpenGL Shading Language (GLSL) and the new OpenGL function calls that support it. The text begins by describing the syntax and semantics of this high-level programming language. Once this foundation has been established, the book explores the creation and manipulation of shaders using new OpenGL function calls.

OpenGL® Shading Language, Third Edition, includes updated descriptions for the language and all the GLSL entry points added though OpenGL 3.1, as well as updated chapters that discuss transformations, lighting, shadows, and surface characteristics. The third edition also features shaders that have been updated to OpenGL Shading Language Version 1.40 and their underlying algorithms, including

  • Traditional OpenGL fixed functionality
  • Stored textures and procedural textures
  • Image-based lighting
  • Lighting with spherical harmonics
  • Ambient occlusion and shadow mapping
  • Volume shadows using deferred lighting
  • Ward’s BRDF model

The color plate section illustrates the power and sophistication of the OpenGL Shading Language. The API Function Reference at the end of the book is an excellent guide to the

API entry points that support the OpenGL Shading Language.

Editorial Reviews

Review

“As the ‘Red Book’ is known to be the gold standard for OpenGL, the ‘Orange Book’ is considered to be the gold standard for the OpenGL Shading Language. With Randi’s extensive knowledge of OpenGL and GLSL, you can be assured you will be learning from a graphics industry veteran. Within the pages of the second edition you can find topics from beginning shader development to advanced topics such as the spherical harmonic lighting model and more.”

—David Tommeraasen, CEO/Programmer, Plasma Software

“This will be the definitive guide for OpenGL shaders; no other book goes into this detail. Rost has done an excellent job at setting the stage for shader development, what the purpose is, how to do it, and how it all fits together. The book includes great examples and details, as well as good additional coverage of 2.0 changes!”

—Jeffery Galinovsky, Director of Emerging Market, Platform Development, Intel Corporation

“The coverage in this new edition of the book is pitched just right to help many new shader-writers get started, but with enough deep information for the ‘old hands.’”

—Marc Olano, Assistant Professor, University of Maryland

“This is a really great book on GLSL—well written and organized, very accessible, and with good real-world examples and sample code. The topics flow naturally and easily, explanatory code fragments are inserted in very logical places to illustrate concepts, and, all in all, this book makes an excellent tutorial as well as a reference.”

—John Carey, Chief Technology Officer, C.O.R.E. Feature Animation

OpenGL® Shading Language provides a timely, thorough, and entertaining introduction to the only OpenGL ARB-approved high-level shading language in existence. Whether an expert or a novice, there are gems to be discovered throughout the book, and the reference pages will be your constant companion as you dig into the depths of the shading APIs. From algorithms to APIs, this book has you covered.”

—Bob Kuehne, CEO, Blue Newt Software

“Computer graphics and rendering technologies just took a giant leap forward with hardware vendors rapidly adopting the new OpenGL Shading Language. This book presents a detailed treatment of these exciting technologies in a way that is extremely helpful for visualization and game developers.”

—Andy McGovern, Founder, Virtual Geographics, Inc.

“The OpenGL Shading Language is at the epicenter of the programmable graphics revolution, and Randi Rost has been at the center of the development of this significant new industry standard. If you need the inside track on how to use the OpenGL Shading Language to unleash new visual effects and unlock the supercomputer hiding inside the new generation of graphics hardware, then this is the book for you.”

—Neil Trevett, Senior Vice President, Market Development, 3Dlabs

About the Author

Randi J. Rost was a core contributor to the development of the OpenGL Shading Language and the OpenGL API that supports it, as well as one of the first programmers to design and implement shaders using this technology. Randi works at Intel.

Bill Licea-Kane is chair of the ARB OpenGL Shading Language workgroup. Bill is a principal member of technical staff at AMD.

Product details

  • Publisher ‏ : ‎ AddisonWesley Professional; 3rd edition (July 20, 2009)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 792 pages
  • ISBN-10 ‏ : ‎ 0321637631
  • ISBN-13 ‏ : ‎ 978-0321637635
  • Item Weight ‏ : ‎ 2.8 pounds
  • Dimensions ‏ : ‎ 7.2 x 1.79 x 9 inches
  • Customer Reviews:
    4.1 4.1 out of 5 stars 25 ratings

Customer reviews

4.1 out of 5 stars
25 global ratings

Customers say

Customers find the book provides good value for money and explains shaders clearly. They describe it as well-written, easy to read, and the best treatment of the subject they have found.

AI-generated from the text of customer reviews

Select to learn more
4 customers mention "Value for money"4 positive0 negative

Customers find the book provides good value for money. They say it's well worth the effort and does an excellent job explaining the perks and quirks of writing shaders.

"This book does an excellent job of explaining the perks and quirks of writing shaders...." Read more

"...The book itself is great. I already know a lot about GLSL and this book is filling in many of the gaps in my knowledge on that...." Read more

"Nice Book!" Read more

"Well worth the effort..." Read more

4 customers mention "Writing style"4 positive0 negative

Customers find the book's writing style easy to read and well-written. They appreciate its clear presentation of shaders and consider it the best treatment on the subject.

"...novice to professional this book is a must have as it explains the whole concept of shaders, their need as it arose through the history of the..." Read more

"This is by far the best treatment on the subject of shaders I have found. It's easy to read and not too expensive" Read more

"...Well written and comprehensive." Read more

"Excellent Presentation of Shaders..." Read more

Top reviews from the United States

Reviewed in the United States on March 31, 2013
This book does an excellent job of explaining the perks and quirks of writing shaders. From novice to professional this book is a must have as it explains the whole concept of shaders, their need as it arose through the history of the graphics API wars, a quick introduction to Open GL and its relationship to GLSL as well as the interfacing code that needs to be written to connect the dots between OpenGL and GLSL. Full details of the GLSL language are included and explained in a gradual manner.

The book proceeds to give an overview of how a shader is written from beginning to end. Then a fully detailed description of each of the intermediate steps is given. The discussion proceeds as a tutorial taking the reader by the hand and in a step-by-step manner teaches how to write the most widely used shaders in the graphics industry while at the same time it gives enough instruction to enable the reader to invent their own shaders if they need to.

In all, a very well written and rounded book that begins slowly and generally at first while gradually adding the necessary detail. Written in a simple language without sacrificing technical rigor. A tutorial for the novice and also an invaluable reference in finding quickly whatever a shader developer might need. A must have for everyone interested in developing modern accelerated graphics applications.
One person found this helpful
Report
Reviewed in the United States on May 1, 2013
This is by far the best treatment on the subject of shaders I have found. It's easy to read and not too expensive
Reviewed in the United States on May 8, 2017
The book is great, but the color plate section is missing. I sent the first book I got back after assurances from Amazon customer support that the new book would have the missing section. It did not have the color plates either... extraordinarily annoying... So, I kept the second defective book and used the free 45 day trial Safari Books Online subscription that comes with the book to find the missing color plate section online. I downloaded it, printed it on a color printer, and jammed it in the back of the book (8 pages, double sided). So I have the color plate section now but I am not happy that I had to do that. The book itself is great. I already know a lot about GLSL and this book is filling in many of the gaps in my knowledge on that. So I gave it a middle star. If it had the color section to begin with I would have given it 5 stars.
2 people found this helpful
Report
Reviewed in the United States on September 11, 2012
I don't usually write reviews, but this book deserves one.

This book serves well to someone that has some familiarity/experience with setting up an OpenGL environment on whatever platform. (ie. each implementation of opengl has its quarks, but for iOS this involves setting up the EAGLContext, override layerClass to return CAEAGLayer, setting up vertex buffer objects, render buffers, and framebuffers, blah blah) If you don't understand that aspect you'll find yourself reading the book and thinking 'thats great, but how do i set this up initially?' However if you're like me, and can set up the GL environment, but lacked some insight on what exactly can be accomplished with vertex/fragment shaders then you'll be in for a treat. This book does a nice job of explaining the process of creating shaders (and their corresponding gl_programs). This book doesn't treat the reader like an idiot, but it also doesn't treat you like you were a designer of OpenGL; its a good compromise in the middle. The general flow of the book is having a detailed explanation of what is going on in a shader, then it shows you the code for said shader. If you're patient and willing to cross-reference the text and the code, and touch base with the underlying math where you find yourself lacking, you should come out with a better understanding of how to achieve certain effects (lighting, shadows, noise, etc.) Goodluck
5 people found this helpful
Report
Reviewed in the United States on April 15, 2013
The Third Edition is not very different from the Second. (Which is a good book.)

Very minor changes from the 2e. Someone tried to hack out the deprecation but the new stuff lacks adequate explanation and doesn't always work. There are no new shaders presented showing how to benefit from the new capabilities of GLSL.

The index has not been updated to include the mentions of new features or commands. For instance glTransformFeedbackVarying, glBeginTransformFeedback, and glBindBufferBase are briefly mentioned in the book but they have not been indexed nor have they been added to the glossary nor are they included in the API Function Reference in Appendix B.

New commands gl_VertexID and gl_InstanceID are listed but no examples are given as to what they are used for. Other new commands are not even mentioned, such as glPrimitiveRestartIndex.

It's web-site 3dshaders.com is not working. So, no source code is available for the third edition.

The author's email is listed in the book but there is no response and I believe it is a not a working address.

The publisher's web-site has a link to download source code for the book, but its the code from the 2nd edition without any updating.
15 people found this helpful
Report
Reviewed in the United States on July 21, 2017
Nice Book!
Reviewed in the United States on July 27, 2011
This book is about as comprehensive as there exists for the OpenGL Shading Language. The Shading language is a very dynamic thing, and seems to change frequently, but this book covers the intracacies. I recommend it.
One person found this helpful
Report
Reviewed in the United States on January 15, 2020
If you considered buying the Kindle edition so that you can have this reference on your desktop as you work, there is one simple answer: don't do it. The code examples and images are all incredibly low quality with terrible compression artifacts, seemingly converted from a PDF to Kindle format and sent to the kindle store without even being review. Do you think it would be nice to have some of the examples ready to go as you read, so you could simply click and drag them into your shader? You won't be able to, because they aren't text, but low quality images. Stick to the paperback. Khronos is a great company and i'm happy to support them but Amazon/Kindle isn't the way to do it (I had a giftcard).

Top reviews from other countries

Antonio Cervone
5.0 out of 5 stars Super
Reviewed in the United Kingdom on January 20, 2017
If you want work with OpenGgl you must have this book. One of trilogy Red Book , Orange Book, Super Bilbe
Chunyu Ma
5.0 out of 5 stars Five Stars
Reviewed in Canada on August 24, 2015
As expected.
Mr. C Bell
3.0 out of 5 stars Adequate, but not the book I was hoping for.
Reviewed in the United Kingdom on March 24, 2013
I have many years of programming experience with OpenGL, and I needed to explore "shaders" (programming the GPU) using OpenGL Shading Language (GLSL), so I bought this book as a companion to my copy of the "Red book" OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 on OpenGL. I'm probably just stupid, but I found it very hard to work out how to use GLSL from this book.

"Shaders" refer to three separate programmes you can run on the GPU: "vertex shaders" which programme per-vertex information, "geometry shaders" which allow optional access to primitive points, lines and triangles, and "fragment shaders" which deal with the rendering of individual pixels. If you choose to write these you generate small programmes which replace certain bits of the built-in graphics pipeline, the aim being to give the programmer much more flexibility and to permit pretty much anything to be done to the graphics data.

So shaders are a bit like islands of accessibility to graphics data in a sea of hidden architecture on the GPU. Certain bits of data are "built-in", and certain graphics processes are also fixed and hidden away from the programmer, and I found it very hard to determine from this book alone exactly what fell into which category, and how I should interface with the built-in graphics processing. To pursue my maritime analogy: if graphics data is like freight sent by shipping, then you intercept cargos en-route, fiddle with them a bit, then send them on. But to do this you need to fit into the shipping schedules, know what freight is on the boat, know what you are and are not allowed to change, how you should load it, and so on.

I found this book very weak on explaining data flow (shipping schedules in my analogy), and also how the data (the cargo) is organised . Without this information you are a bit stuffed! A diagram showing this and listing all the "built-in" variables available at each stage (with their attributes) would have been a priceless help. Fortunately a lot of information about GLSL is available online, and that is just as well because I don't think this book alone would have given me enough information to get the job done.

Once I'd figured out the missing bits and pieces the second half of this book, which is mainly worked examples of how to achieve effects with shaders, proved very useful as a source of ideas. In particular chapter 9, Emulating OPenGL Fixed Functionality, is crucial for a novice at GLSL because you have to start at the beginning with basic transformations, colour, shading and lighting and this shows you how to do it.

In conclusion I'd say that you can learn GLSL from scratch using this book, but you'll also need a web browser in order to answer all the questions it fails to answer. Once you've got going it makes a reasonable reference guide, and the coded examples in the second half are particularly worthwhile. But I do wish the authors had studied Kernighan and Ritchie's The C Programming Language (2nd Edition), in my view the best book ever written on a computer language: clear, concise and well organised ... which this book definitely is not!