OpenGL® Shading Language, Third Edition
by Randi J. Rost; Bill Licea-Kane; Dan Ginsburg; John M. Kessenich; Barthold Lichtenbelt; Hugh Malan; Mike Weiblen
OpenGL® ES 2.0 Programming Guide
by Aaftab Munshi; Dan Ginsburg; Dave Shreiner
OpenGL® Programming on Mac OS® X: Architecture, Performance, and Integration
by Robert P. Kuehne; J. D. Sullivan
OpenGL® Shading Language, Third Edition
by Randi J. Rost; Bill Licea-Kane; Dan Ginsburg; John M. Kessenich; Barthold Lichtenbelt; Hugh Malan; Mike Weiblen
OpenGL® Programming Guide: The Official Guide to Learning OpenGL®, Versions 3.0 and 3.1, Seventh Edition
by Dave Shreiner - The Khronos OpenGL ARB Working Group
OpenGL® ES 2.0 Programming Guide
by Aaftab Munshi; Dan Ginsburg; Dave Shreiner
Beginning OpenGL® Game Programming, Second Edition
by Luke Benstead; Dave Astle; Kevin Hawkins
OpenGL® Distilled
by Paul Martz
OpenGL ® SuperBible, Fourth Edition, begins by illuminating the core techniques of “classic” OpenGL graphics programming, from drawing in space to geometric transformations, from lighting to texture mapping. The authors cover newer OpenGL capabilities, including OpenGL 2.1’s powerful programmable pipeline, vertex and fragment shaders, and advanced buffers. They also present thorough, up-to-date introductions to OpenGL implementations on multiple platforms, including Windows, Mac OS X, GNU/Linux, UNIX, and embedded systems.
Coverage includes
· An entirely new chapter on OpenGL ES programming for handhelds
· Completely rewritten chapters on OpenGL for Mac OS X and GNU/Linux
· Up-to-the-minute coverage of OpenGL on Windows Vista
· New material on floating-point color buffers and off-screen rendering
· In-depth introductions to 3D modeling and object composition
· Expert techniques for utilizing OpenGL’s programmable shading language
· Thorough coverage of curves, surfaces, interactive graphics, textures, shadows, and much more
· A fully updated API reference, and an all-new section of full-color images
You’ll rely on this book constantly–whether you’re learning OpenGL for the first time, deepening your graphics programming expertise, upgrading from older versions of OpenGL, or porting applications from other environments.
Now part of the OpenGL Technical Library–The official knowledge resource for OpenGL developers
The OpenGL Technical Library provides tutorial and reference books for OpenGL. The Library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. Originally developed by SGI, the Library continues to evolve under the auspices of the OpenGL Architecture Review Board (ARB) Steering Group (now part of the Khronos Group), an industry consortium responsible for guiding the evolution of OpenGL and related technologies.
Contents
Preface xxvii
About the Authors xxxv
Introduction 1
Part I: The Old Testament
Chapter 1 Introduction to 3D Graphics and OpenGL 9
Chapter 2 Using OpenGL 33
Chapter 3 Drawing in Space: Geometric Primitives and Buffers 73
Chapter 4 Geometric Transformations: The Pipeline 127
Chapter 5 Color, Materials, and Lighting: The Basics 173
Chapter 6 More on Colors and Materials 229
Chapter 7 Imaging with OpenGL 251
Chapter 8 Texture Mapping: The Basics 303
Chapter 9 Texture Mapping: Beyond the Basics 341
Chapter 10 Curves and Surfaces 377
Chapter 11 It’s All About the Pipeline: Faster Geometry Throughput 421
Chapter 12 Interactive Graphics 457
Chapter 13 Occlusion Queries: Why Do More Work Than You Need To? 481
Chapter 14 Depth Textures and Shadows 495
Part II: The New Testament
Chapter 15 Programmable Pipeline: This Isn’t Your Father’s OpenGL 515
Chapter 16 Vertex Shading: Do-It-Yourself Transform, Lighting, and Texgen 547
Chapter 17 Fragment Shading: Empower Your Pixel Processing 567
Chapter 18 Advanced Buffers 601
Part III: The Apocrypha
Chapter 19 Wiggle: OpenGL on Windows 641
Chapter 20 OpenGL on Mac OS X 685
Chapter 21 OpenGL on Linux 713
Chapter 22 OpenGL ES — OpenGL on the Small 735
Appendix A Further Reading/References 773
Appendix B Glossary 777
Appendix C API Reference 783
Index 1141
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 14 Ratings
best OpenGL book - 2009-06-07
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
HOORAY!! Binding fixed! - 2009-02-09
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I had been wanting to buy this book for a long time, but I just couldn't bear having it break in half, the plates fall out, etc., which is exactly what happened when I looked at a *new* copy on a bookstore shelf maybe a year ago. Finally, after seeing yet another source list it as the best OpenGL book there is, I decided I would buy it anyway, bad binding or not, and started to do some preliminary research on how to re-bind broken paperback books. What a thrill to find out that Addison Wesley did a SECOND PRINTING of this book in Dec. 2007, and the binding is now quite strong. So anybody holding out because of bad binding concerns, don't.
As far as the actual content, it is clear and informative so far (I've read maybe a quarter of it), and although the 'Red Book' is also just fine in that regard, this book also has a complete reference in the back which I have used a *lot*. In general it's great.
Not only good for reference but also for learning from scratch - 2008-12-26
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I am using Visual Studio 2008 Express Edition for C++ running on Windows XP Professional SP3 (regularly updated),
and it is true that if you are looking trough windows examples you are going to experience some problems since the examples are produced with Visual Studio 2003, but none the less if you are a C++ developer and you know your way around a little bit, and I say
a little bit, you will be allright.
For example, you need to provide the libraries needed to your compiler's default directories, just read the "readme.txt" files that comes
with the examples. And if you are using the latest version of Visual Studio as I am (2008), you need to say your linker that it must ignore the LIBC.LIB library for a successfull compile, just goto properties, C++ tab, select linker and put that library to the ignore list.
So far I am very happy with the book and the examples, little bugs still linger around ( and this is the 4th edition, interesting to have such bugs still lingering around), but it is allright.
For example while checking the rotation angle variables for an overflow, the author caught in the moment and continue to check the key pressed variable instead of the rotation variable for an overflow, but since we are talking about floating numbers, there will be no overflow as you do not rotate that much ; )
example code:
if(key == GLUT_KEY_RIGHT)
yRot += 5.0f;
if(key > 356.0f) // key should be xRot
xRot = 0.0f;
if(key < -1.0f) // key should be xRot
xRot = 355.0f;
Overall, it is an awesome book! Thanks.
This is a good book. - 2008-10-02
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book is helpful, only problem for me personally is that I program in C# while this book uses C++. This means that for instance this book uses Matrix functions which are available in the C++ library but which aren't available in C#. But other than that this book is really nice to have because you can learn a lot about OpenGL from this book, which is the purpose of this book. In three words: A Good Buy
Best book I've found for iPhone Game Development - 2009-10-04
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I am a Software Engineer doing server side programming for the last 6-7 years. I was wanting to do something different during my "idle time" and then the iPhone SDK was released. Within a short span of 6-9 months I had around 3 apps released to the app store. At this point, I thought I could easily write a game for the iPhone. Boy, was I wrong!!.
I hadn't heard about OpenGL before. I tried Googling for iPhone game development tutorials and I found a couple of good tutorials (this one is good: [...]but I still couldn't understand the bigger picture of game development and how things work in 3D. And then I found this book.
This book has everything I've been looking for. It doesn't assume that I know anything about game programming in 3D. It starts explaining concepts from a very basic level like
* History of 3D game development
* How do we see things in real world? How do we translate 3D to 2D.
* What is light?
* Bits, pixels, images and so on..
and then slowly builds up. All chapters have excellent programs to demonstrate the concepts and the best part is we can actually build the program as a project on xcode and run it (I had so much fun tweaking the code and seeing how it affects the scene). There is a even a separate chapter that explains how to do XCode development on Mac using OpenGL from scratch.
There is only one chapter on OpenGL ES. But given that it is a subset of OpenGL, I think having the knowledge of OpenGL would give us much better understanding of and what we are missing in ES.
I haven't read the chapters on the GLSL yet but looking forward to. iPhone 3GS supports OpenGL ES 2.0 which in-turn supports the programmable pipeline using OpenGL Shading Language.
So with this book and the online link above, I am sure I should be able to write a cool iPhone game soon. :-)
Some information on this page was provided using data from Amazon.com®. View at Amazon >