- Paperback: 480 pages
- Publisher: Addison-Wesley Professional; 1 edition (August 3, 2008)
- Language: English
- ISBN-10: 0321502795
- ISBN-13: 978-0321502797
- Product Dimensions: 7 x 1 x 9.1 inches
- Shipping Weight: 1.4 pounds (View shipping rates and policies)
- Average Customer Review: 28 customer reviews
- Amazon Best Sellers Rank: #1,061,011 in Books (See Top 100 in Books)
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.
OpenGL ES 2.0 Programming Guide 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
From the Back Cover
OpenGL ES 2.0 is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. With OpenGL ES 2.0, the full programmability of shaders is now available on small and portable devices--including cell phones, PDAs, consoles, appliances, and vehicles. However, OpenGL ES differs significantly from OpenGL. Graphics programmers and mobile developers have had very little information about it--until now.
In the "OpenGL(R) ES 2.0 Programming Guide," three leading authorities on the Open GL ES 2.0 interface--including the specification's editor--provide start-to-finish guidance for maximizing the interface's value in a wide range of high-performance applications. The authors cover the entire API, including Khronos-ratified extensions. Using detailed C-based code examples, they demonstrate how to set up and program every aspect of the graphics pipeline. You'll move from introductory techniques all the way to advanced per-pixel lighting, particle systems, and performance optimization.
Shaders in depth: creating shader objects, compiling shaders, checking for compile errors, attaching shader objects to program objects, and linking final program objectsThe OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniforms, varyings, precision qualifiers, and invarianceInputting geometry into the graphics pipeline, and assembling geometry into primitivesVertex shaders, their special variables, and their use in per-vertex lighting, skinning, and other applicationsUsing fragment shaders--including examples of multitexturing, fog, alpha test, and user clip planesFragment operations: scissor test, stencil test, depth test, multisampling, blending, and ditheringAdvanced rendering: per-pixel lighting with normal maps, environment mapping, particle systems, image post-processing, and projective texturingReal-world programming challenges: platform diversity, C++ portability, OpenKODE, and platform-specific shader binaries
About the Author
Aaftab Munshi is the spec editor for the OpenGL ES 1.1 and 2.0 specifications. Now at Apple, he was formerly senior architect in ATI’s handheld group.
Dan Ginsburg is senior member of technical staff at AMD. At AMD and ATI, he has worked in a variety of roles, including the development of OpenGL drivers, the creation of desktop and handheld 3D demos, and the development of handheld GPU developer tools.
Dave Shreiner is one of the world’s foremost authorities on OpenGL. He is a systems architect at ARM, Inc., and the lead author of the official OpenGL® Programming Guide, Sixth Edition (Addison-Wesley, 2007) and series editor for the Addison-Wesley OpenGL Series.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
This book is not recommended for people new to 3D graphics programming. It is not a tutorial. However, I have yet to find a book which actually explains the hardware restrictions (eg. number of attributes you can pass into a shader), and why the API was created to match the hardware. This book actually explains how modern hardware works, and how to use GLSL programs to utilise the new functionality. If you're moving away from the fixed function OpenGL pipeline towards the core profile (and OpenGL ES 2.0), then there is no other book you need to explain how and why to get things done using the new API.
At this point in time, there is only one other OpenGL book which covers modern OpenGL (SuperBible 5th edition), but those authors focus too much on their own replacement toolkit and not OpenGL itself. What a disaster for a book claiming to teach how OpenGL works.
My recommendation: if you're moving away from the fixed function pipeline, then this book will teach you how to do it, and why things work they way they do. If you've never done 3D programming in the past, then this book will be completely over your head. It's one of the most valuable technical books I've purchased in the last decade.
The annotated code examples in the book explain the code somewhat and you can infer the authors' intent if you Google the terms they use and consult other references of the OpenGL programmable pipeline.
Make no mistake, this is a difficult read. It requires prior OpenGL knowledge. The section "Intended Audience" is somewhat revealing about prerequisite knowledge. If you have no OpenGL experience, you will have to re-read every chapter several times, look up unfamiliar terms and follow unrelated tutorials available on the internet for the material to make sense (at least that's what I had to do). The last sentence of the "Intended Audience" section states, "After finishing the book, the reader will be ready to write OpenGL ES 2.0 applications that fully harness the programmable power of embedded graphics hardware." I found that statement to be inaccurate, unless by finishing the book they mean re-reading it several times along with other books that explain what they are talking about better.
I wish the authors had provided working code to explain Chapter 12. They provide snippets in the book, but no working example. My main criticism of the book is the annotated code snippets in the book do not explain the concepts well. To be fair, their writing voice may speak to others better than it did to me.
Now that I have completed reading it, I am re-writing the code using Qt OpenGL objects. Doing something similar using an OpenGL API implementation on a platform familiar to the reader will greatly help in their understanding.
Finally, I found it disappointing that the authors did not provide a single example of using a mat4 in the vertex shaders. Almost all of the OpenGL ES code I've seen uses transforms and the book does not address it using matrix structs or objects. Seems like a pretty big gap in learning the API.
To summarize, OpenGL ES 2.0 Programming Guide is something you will probably need to read. Other books may provide more understanding if you have no OpenGL experience.
My second complaint is there isn't an example showing a scene with a full explanation of the code. Instead, each example shows one object/primitive with some shader code which is overtly simplistic. So, this book doesn't get you to the next level.
However, it's not all bad in that the book will get you up and running quickly with shaders and using them in OpenGL ES 2.0 as long as you have a strong foundation in what's missing. Most importantly, know that this book targets OpenGL ES 2.0 and doesn't specifically target iPhone or Android development. You're also not going to get a treatise on GLSL or OpenGL. If you keep that in mind, then you'll appreciate this book for what it is.
Finally, Dan Ginsburg was good enough to port the source to different platforms which I found to be a huge bonus. Thanks Dan!
Most recent customer reviews
Had all the information I needed to develop OpenGL ES software.