- Paperback: 792 pages
- Publisher: AddisonWesley Professional; 3 edition (20 July 2009)
- Language: English
- ISBN-10: 0321637631
- ISBN-13: 978-0321637635
- Product Dimensions: 17.8 x 3.9 x 22.9 cm
- Average Customer Review: 4.0 out of 5 stars See all reviews (2 customer reviews)
- Amazon Bestsellers Rank: 1,138,046 in Books (See Top 100 in Books)
- See Complete Table of Contents
OpenGL Shading Language (3rd Edition) Paperback – 20 Jul 2009
|New from||Used from|
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
If you are a seller for this product, would you like to suggest updates through seller support?
“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
From the Back Cover
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.See all Product description
Top Customer Reviews
"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.Read more ›
Most Helpful Customer Reviews on Amazon.com (beta) (May include reviews from Early Reviewer Rewards Program)
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.
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
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.
My only complaint is the encyclopedic nature of the book. Tons of man page like reference material in the back and throughout.
It lacks the inspiration of a book like Frank Luna's DirectX, where he develops techniques like normal mapping, cascaded shadow maps, etc.. with all the relevant math details.
But, if you have those details, this book has everything you need to implement them in GLSL. So a good buy.
Look for similar items by category
- Books > Computing & Internet > Digital Video
- Books > Computing & Internet > PC & Video Games
- Books > Computing & Internet > Programming > Games
- Books > Computing & Internet > Programming > Graphics & Multimedia
- Books > Computing & Internet > Software & Graphics > Graphics & Multimedia > 3-D Graphics
- Books > Computing & Internet > Software & Graphics > Graphics & Multimedia > Animation & Multimedia
- Books > Computing & Internet > Software & Graphics > Graphics & Multimedia > Image Manipulation & Creation
- Books > Computing & Internet > Web Development > Web Design > Web Graphics & Animation