OpenGL SuperBible: Comprehensive Tutorial and Reference and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Start reading OpenGL SuperBible on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

OpenGL SuperBible: Comprehensive Tutorial and Reference (4th Edition) [Paperback]

Richard Wright , Benjamin Lipchak , Nicholas Haemel
4.0 out of 5 stars  See all reviews (1 customer review)
List Price: CDN$ 67.99
Price: CDN$ 54.39 & FREE Shipping. Details
You Save: CDN$ 13.60 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 2 to 3 weeks.
Ships from and sold by Amazon.ca. Gift-wrap available.

Formats

Amazon Price New from Used from
Kindle Edition CDN $29.51  
Paperback CDN $54.39  
There is a newer edition of this item:
OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition) OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition) 5.0 out of 5 stars (1)
CDN$ 39.68
In Stock.
Join Amazon Student in Canada


Book Description

June 18 2007 0321498828 978-0321498823 4

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

 


Customers Who Bought This Item Also Bought


Product Details


Product Description

About the Author

Richard S. Wright, Jr.has been using OpenGL for more than 12 years, since it first became available on the Windows platform, and teaches OpenGL programming in the game design degree program at Full Sail in Orlando, Florida. Currently, Richard is the president of Starstone Software Systems, Inc., where he develops third-party multimedia simulation software for the PC and Macintosh platforms using OpenGL.

Previously with Real 3D/Lockheed Martin, Richard was a regular OpenGL ARB attendee and contributed to the OpenGL 1.2 specification and conformance tests. Since then, Richard has worked in multidimensional database visualization, game development, medical diagnostic visualization, and astronomical space simulation.

Richard first learned to program in the eighth grade in 1978 on a paper terminal. At age 16, his parents let him buy a computer with his grass-cutting money instead of a car, and he sold his first computer program less than a year later (and it was a graphics program!). When he graduated from high school, his first job was teaching programming and computer literacy for a local consumer education company. He studied electrical engineering and computer science at the University of Louisville’s Speed Scientific School and made it half way through his senior year before his career got the best of him and took him to Florida. A native of Louisville, Kentucky, he now lives with his wife and three children in Lake Mary, Florida. When not programming or dodging hurricanes, Richard is an avid amateur astronomer and an Adult Sunday School teacher.

 

Benjamin Lipchak graduated from Worcester Polytechnic Institute with a double major in technical writing and computer science. “Why would anyone with a CS degree want to become a writer?” That was the question asked of him one fateful morning when Benj was interviewing for a tech writing job at Digital Equipment Corporation. Benj’s interview took longer than scheduled, and he left that day with job offer in hand to work on the software team responsible for DEC’s AlphaStation OpenGL drivers.

Benj’s participation in the OpenGL Architecture Review Board began when he chaired the working group that generated the GL_ARB_fragment_program extension spec. While chairing the Khronos OpenGL Ecosystem Technical SubGroup, he established the OpenGL SDK and created the OpenGL Pipeline newsletter, of which he remains editor.

Benj will now participate in the Khronos OpenGL ES Working Group. After 12 years of OpenGL driver development and driver team management at DEC, Compaq, and ATI, he is headed for smaller pastures. Benj recently became manager of AMD’s handheld software team. Although the API is familiar, the new challenges of size and power consumption make for a great change of scenery. In his fleeting spare time, Benj tries to get outdoors for some hiking or kayaking. He also operates an independent record label, Wachusett Records, specializing in solo piano music.

 

Nicholas Haemel, developer at AMD in the Graphics Products Group, was technical reviewer for OpenGL SuperBible, Third Edition, and contributed the chapters on GLX and OpenGL ES.

 

Excerpt. © Reprinted by permission. All rights reserved.

OpenGL SuperBible: Preface

My career has been built on a long history of making "stupid" choices and accidentally being right. First, I went to Microsoft's DOS, instead of the wildly popular CP/M. Later, I recall, friends counseled me that Windows was dead, and too hard to program for, and that OS/2 was the future (you couldn't lose by sticking with IBM, they'd say).

Just got lucky, I guess.

There were a few other minor wrong turns that just happened to fortunately have me pointed away from some other collapsing industry segment, but my next really big stupid decision was writing the first edition of this book. I had already built a nice comfortable career out of fixing SQL database problems, and was making the transition to large-scale enterprise IT solutions in the healthcare industry. A book on OpenGL? I had no idea what I was doing. The first time I read the official OpenGL specification, I had to all but breathe in a paper bag, my first co-author quit in disgust, and the whole project was very nearly canceled before the book was half-finished.

As soon as the book came out, I had some meager credibility outside my normal field of expertise. I was offered a job at Lockheed-Martin/Real3D doing "real" OpenGL work. My then-current boss (God bless you, David, wherever you are!) tried really hard to talk me out of throwing my career away. Everybody knows, he insisted, that whatever Microsoft does is going to be the way the industry goes, and Microsoft's Taligent (no, not the operating system, but a 3D standard predating Direct 3D) graphics platform was going to bury OpenGL into obscurity. Besides, there was only one other book on OpenGL in existence; how big a thing could it possibly be?

Eleven years have passed, and as I finish yet the fourth edition of this book (and looking at a shelf full of OpenGL books), the number of people reading this who remember the short-lived hype of Taligent would probably fit in the back of my minivan. An OpenGL engineer I used to know at IBM had in her e-mail signature: "OpenGL. It's everywhere. Do the math." This has never been truer than it is today.

OpenGL today is the industry-leading standard graphics API on nearly every conceivable platform. This includes not only desktop Windows PCs and Macs, but UNIX workstations, location-based entertainment systems, major game consoles (all but one), hand-held gaming devices, cellphones, and a myriad of other embedded systems such as avionic and vehicle instrumentation.

Across platforms, OpenGL is the undisputed champion of 3D content creation applications, 3D games, visualization, simulation, scientific modeling, and even 2D image and video editing. OpenGL's widespread success can be attributed to its elegance and ease of use, its power and flexibility, and the overwhelming support it has received from the developer and IHV communities. OpenGL can be extended as well, providing all the benefits of an open standard, as well as giving vendors the ability to add their own proprietary added value to implementations.

You have probably heard that programmable hardware is the future of 3D graphics programming, and of graphics APIs. This is no longer true. Programmable hardware is no longer in the future; it is here now, today, even on the lowest cost motherboard embedded 3D chipsets. It is not a fluke that this edition follows the last at the closest interval of the series. The pace of evolving graphics technology is simply staggering, and this edition brings you up-to-date on the now-latest OpenGL version 2.1.

We have reinforced the chapters on fixed-pipeline programming, which is not going away anytime soon, and have affectionately deemed them "The Old Testament."; still relevant, illustrative, and the foundation on which the "New Testament" of programmable hardware is based. I find the analogy quite appropriate, and I would refute anyone who thinks the fixed pipeline is completely dead and irrelevant. The rank and file of application developers (not necessarily cutting-edge game developers) would, I'm sure, agree.

That said, we have still trimmed some dead weight. Color Index mode is ignored as much as possible, some old paletted rendering material from the Windows chapter has been pruned, and we have eliminated all the old low-level assembly-style shader material to make room for updated and expanded coverage of the high-level shading language (GLSL). You'll also find a whole new chapter on OpenGL on hand-held systems, totally rewritten Mac OS X and Linux chapters, and a really great new chapter on advanced buffer techniques such as offscreen rendering, and floating-point textures.

Another big change some readers will notice is that the OpenGL SuperBible has been acquired and adopted into the Addison-Wesley Professional OpenGL series. I can't begin to express how grateful I am and humbled I feel by this honor. I myself have worn out the covers on at least one edition of every volume in this series.

One of the reasons, I think, for the longevity of this book has been the unique approach it takes among OpenGL books. As much as possible, we look at things through the eyes of someone who is excited by 3D graphics but knows very little about the topic. The purpose of a tutorial is to get you started, not teach you everything you will ever need to know. Every professional knows that you never reach this place. I do occasionally get some criticism for glossing over things too much, or not explaining things according to the strictest engineering accuracy. These almost never come from those for whom this book was intended. We hope for a great many of you that this will be your first book on OpenGL and 3D graphics. We hope for none of you that it will be your last.

Well, I did make one really "smart" decision about my career once. Once upon a time in the early 1980s, I was a student looking at a computer in an electronics store. The salesman approached and began making his pitch. I told him I was just learning to program and was considering an Amiga over his model. I was briskly informed that I needed to get serious with a computer that the rest of the world was using. An Amiga, he told me, was not good for anything but "making pretty pictures." No one, he assured me, could make a living making pretty pictures on his computer. Unfortunately, I listened to this "smart" advice and regretted it for over ten years. Thank God I finally got stupid.

As for making a living "making pretty pictures"? Do the math.

Oh, and my latest stupid decision? I've left Windows and switched to the Mac. Time will tell if my luck holds out.

Richard S. Wright Jr.

Preface to the Previous, Third Edition

I have a confession to make. The first time I ever heard of OpenGL was at the 1992 Win32 Developers Conference in San Francisco. Windows NT 3.1 was in early beta (or late alpha), and many vendors were present, pledging their future support for this exciting new graphics technology. Among them was a company called Silicon Graphics, Inc. (SGI). The SGI representatives were showing off their graphics workstations and playing video demos of special effects from some popular movies. Their primary purpose in this booth, however, was to promote a new 3D graphics standard called OpenGL. It was based on SGI's proprietary IRIS GL and was fresh out of the box as a graphics standard. Significantly, Microsoft was pledging future support for OpenGL in Windows NT.

I had to wait until the beta release of NT 3.5 before I got my first personal taste of OpenGL. Those first OpenGL-based screensavers only scratched the surface of what was possible with this graphics API. Like many other people, I struggled through the Microsoft help files and bought a copy of the OpenGL Programming Guide (now called simply "The Red Book" by most). The Red Book was not a primer, however, and it assumed a lot of knowledge that I just didn't have.

Now for that confession I promised. How did I learn OpenGL? I learned it by writing a book about it. That's right, the first edition of the OpenGL SuperBibl...


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

5 star
0
3 star
0
2 star
0
1 star
0
4.0 out of 5 stars
4.0 out of 5 stars
Most helpful customer reviews
1 of 1 people found the following review helpful
4.0 out of 5 stars Almost everything under one cover June 16 2010
Format:Paperback
In the preface, Wright says of the first edition of the SuperBible: "A book on OpenGL? I had no idea what I was doing." I have a copy of that edition and it does indeed seem in parts that the author is not far ahead of the reader. But that was in 1996, the fourth edition (reviewed here) appeared in 2007, and the fifth edition is predicted for Summer 2010. Much has changed during 14 years. Significantly, the SuperBible is now in the Addison-Wesley Professional OpenGL Series.

The SuperBible has three parts: the "Old Testament" (pp. 9-514)describes fixed-pipeline programming; the "New Testament" (pp. 515-640) introduces the programmable pipeline (vertex shaders and shaders); and the "Apocrypha" (pp. 641-772) discusses platform-specific techniques for Windows, MacOS, Linux, and using OpenGL ES for embedded systems. The book concludes with more than 350 pages of appendices, including a comprehensive API Reference. The explanations are clear and are supported by numerous figures and code snippets.

Which is better: the "official" OpenGL Programming Guide ("red book") or the SuperBible? The answer is "neither" because the books are intended for different audiences. The Programming Guide does an excellent job of explaining the features of OpenGL and how to use them. The SuperBible describes techniques used in computer graphics and explains how to obtain them with OpenGL. It is therefore more self-contained than the Guide: you can go quite far in graphics programming using the SuperBible as your only source.

The SuperBible tends to be upbeat about things that OpenGl provides and somewhat dismissive of alternative techniques. For example, quaternions "can be difficult to understand [and] really don't solve any problems with Euler angles" -- try explaining that to a games programmer! But this is a minor criticism of a book that, during its long lifetime, has matured from a fat book into a 1200-page SuperBargain.
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.2 out of 5 stars  25 reviews
29 of 31 people found the following review helpful
5.0 out of 5 stars A Great Tutorial July 22 2007
By D. Clemens - Published on Amazon.com
Format:Paperback
I just started learning OpenGL a few months ago. OpenGL.org has a free ebook on OpenGL 1.1 but I hate reading at the computer and I wanted to learn OpenGL 2.1.

So I bought this book since it was just published this month and covers 2.1.

So far, I just finished chapter 5 and I am quite pleased. I have no negative feedback on the text itself as I think the author does a great job. Each topic is covered comprehensively and transitions between topics are subtle enough so as to not lose the reader.

Now for teaching purposes the text and source code use GLUT. Thankfully, the author also includes sections on OS specific OpenGL setup.
14 of 15 people found the following review helpful
5.0 out of 5 stars best OpenGL book June 7 2009
By techno hermit - Published on Amazon.com
Format:Paperback|Verified Purchase
All things considered, this is the best book on writing graphics applications based upon the OpenGL API. No question about it.

You'll also want to buy the "OpenGL Shading Language" which gives the complete description of GLSL (AKA the OpenGL Shading Language), especially if you want to write more advanced shaders.

Also, you must definitely download and print the latest "OpenGL Specifications - version 3.10" (or later) and "OpenGL Shading Language - version 1.40" (or later) from the <[...]> website (currently at [...]>). These are excellent *free* documents in PDF format, but not as easy to learn from as the books mentioned above.

When you become somewhat "advanced", you'll definitely want to review the "GPU GEMS" books. These are great to own in hardbacks, but can also be read for free on the <[...]> website (thanks nvidia!).

I've written DirectX, PlayStation and OpenGL 3D game/simulation engines (commercially released), so I have years of experience now. The "OpenGL SuperBible" was my favorite OpenGL book when I started learning, and is still my favorite OpenGL book today. To write a book that is perfect for [serious] beginners and 3D-graphics gurus too is quite an accomplishment.

PS: This 4th edition does not cover OpenGL versions 3.0 or 3.1, or GLSL versions 1.30 or 1.40; those will be covered in the 5th edition when it becomes available --- hopefully soon!
9 of 9 people found the following review helpful
3.0 out of 5 stars Good explanations, but very poor code quality March 25 2010
By J. McDonald - Published on Amazon.com
Format:Paperback|Verified Purchase
I am a Software Engineer of ~30 years, and have worked with many development frameworks and used many reference manuals. I purchased the OpenGL Superbible (4th edition) because I wanted a good tutorial-style text on OpenGL programming. In that light, I am pleased with the general layout and presentation style of the book so far. (I've only gotten through the first handful of chapters.)

Be warned, however, that while the book gives a good high-level view of concepts, it is of quite poor quality with respect to details. The code examples in the book are literally riddled with errors and omissions. The full set of example source can be downloaded from the opengl.org web site, and seems to include corrections to most or all of the errors in the printed text. Were it not for this saving grace, I would have felt compelled to rate the book far lower.

As it stands, I must rate the book as merely OK. The high-level concepts are presented well, but the frequency of erroneous details significantly detracts from one's confidence in the overall quality and accuracy of the work.
10 of 11 people found the following review helpful
5.0 out of 5 stars Best OpenGL book out there for beginners and experienced alike March 31 2008
By Amazon Customer - Published on Amazon.com
Format:Paperback|Verified Purchase
This book has three great uses: as a learning tool for beginners, as an update for intermediates, and as a reference for experts. All groups can be benefited from this book.

With regards to the first, this book provides a much more natural progression between the topics when read front to back. Also, it does not assume a lot of mathematical knowledge, and it will provide some of it as it goes along.

Also, for people who know OpenGL 1.x, this book will be a great way of being introduced to shader programming as part of OpenGL. Also, something I found invaluable in this book is the chapters in optimization (buffer objects, etc). It talks enough about optimizing OpenGL to high-performance applications without delving into 3D engine design (something that is out of the cope), but still filling a niche. Last, it talks about several things that are taken for granted by professionals but novices sometimes have a hard time accessing (post-processing, multiple passes, image processing, etc.)

Even professionals will find the book useful for looking things up, or to use as a reference.
6 of 7 people found the following review helpful
5.0 out of 5 stars excellent book for OpenGL March 27 2008
By Liming Mei - Published on Amazon.com
Format:Paperback
This is an excellent book for OpenGL topic. I noticed it also includes the most recent works in the computer graphics field which makes it totally different from the free 1st edition bluebook on the internet. I read it everyday on the train to and back from the work. The words used in the book are easy to understand. The authors did a good job presenting the technical details. This is a must-have for all OpenGL software engineers. Would recommend to other people!
Search Customer Reviews
Only search this product's reviews


Feedback