Team Liquid - Shop now
Add Prime to get Fast, Free delivery
Amazon prime logo
Buy new:
$48.42
FREE delivery Friday, December 13
Ships from: Amazon
Sold by: LUNALLC44
$48.42
FREE Returns
FREE delivery Friday, December 13
Or Prime members get FREE delivery Sunday, December 8.
Only 1 left in stock - order soon.
$$48.42 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$48.42
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon
Ships from
Amazon
Sold by
Sold by
Returns
Returnable until Jan 31, 2025
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Returns
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$23.49
Get Fast, Free Shipping with Amazon Prime FREE Returns
A solid used copy. Minimal signs of wear. Corners and cover may show wear. May contain highlighting and/or writing. Fast shipping + tracking ID with Amazon Prime! A solid used copy. Minimal signs of wear. Corners and cover may show wear. May contain highlighting and/or writing. Fast shipping + tracking ID with Amazon Prime! See less
FREE delivery Friday, December 13 on orders shipped by Amazon over $35
Or Prime members get FREE delivery Sunday, December 8. Order within 6 hrs 16 mins.
Only 1 left in stock - order soon.
$$48.42 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$48.42
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
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

Follow the authors

See all
Something went wrong. Please try your request again later.

OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL, Version 1.2 (3rd Edition) 3rd Edition

4.6 4.6 out of 5 stars 36 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$48.42","priceAmount":48.42,"currencySymbol":"$","integerValue":"48","decimalSeparator":".","fractionalValue":"42","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"pp1N5lOOA8ZIIPeLUfeS5GIz88UFhdT%2BKctq7sYiepnbvlkgpGIvkH535jZWQmJ2pp9swpdRsRW6tmDGFI0gt33P6x7sbbdOkvm29FkiL0rxUCToj42FiQvgkE7gNoXNw1PQVklqqCD4iJBOm6VMbNUKlY8xg8Zk4EidWjM%2Bw4KF2h3gEcOBatlxRPR%2FvnIR","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$23.49","priceAmount":23.49,"currencySymbol":"$","integerValue":"23","decimalSeparator":".","fractionalValue":"49","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"pp1N5lOOA8ZIIPeLUfeS5GIz88UFhdT%2BUYM6VJ2mefbBWxkr%2Fwl8RV0uuYyIXLPJfZ3Y69K4rGc341SpG4fPlKg5gar3wvHS2QqxbYYN4%2FdAE13zWXJsV8%2BAIcts8Q19FRYN053MLRTwXhyKkD3K%2Bavl4AN0H3V5e0OppaGv%2FOHEHmV7ivkcTA%3D%3D","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. Discusses all OpenGL functions and their syntax and shows how to use those functions to create interactive applications and realistic color images. Softcover. DLC: Computer Graphics.

Amazon First Reads | Editors' picks at exclusive prices

Editorial Reviews

Amazon.com Review

The OpenGL Programming Guide, now in its third edition, is the definitive volume for programmers using this evolving graphics interface standard. Written by members of the OpenGL Architecture Review Board, this book offers understandable tutorials and lessons on getting up to speed and getting the most out of the latest version of OpenGL, version 1.2.

The guide uses code examples in C and is targeted at programmers who have experience in coding yet are new to coding for OpenGL applications. The opening chapters go into descriptive detail of how OpenGL, the software interface for hardware 3-D chipsets, works and what you can expect from it, which turns out to be much more than you might have thought. Color plates are used, for example, to show how OpenGL handles such effects as motion blur and depth-of-field blur, in addition to shadows and texture mapping.

This is not a beginner's guide to programming computer graphics. Some previous knowledge of both programming in general and computer graphics in particular is required. For example, code snippets are used to describe how to implement these effects, but because OpenGL is platform-independent, some code examples may need to be modified when used with your specific compiler.

Filled with the expertise of those who standardized OpenGL, there is no better reference volume for learning and understanding this system. The examples cited are clear, commented, and explained. The only drawback to the book is that it lacks a companion CD-ROM--all examples must be either typed in or downloaded from an Internet FTP site. (The URL is listed in the preface.) --Mike Caputo

From the Inside Flap

The OpenGL graphics system is a software interface to graphics hardware. (The GL stands for Graphics Library.) It allows you to create interactive programs that produce color images of moving three-dimensional objects. With OpenGL, you can control computer-graphics technology to produce realistic pictures or ones that depart from reality in imaginative ways. This guide explains how to program with the OpenGL graphics system to deliver the visual effect you want.

What This Guide Contains

This guide has 14 chapters. The first five chapters present basic information that you need to understand to be able to draw a properly colored and lit three-dimensional object on the screen.

Chapter 1, "Introduction to OpenGL," provides a glimpse into the kinds of things OpenGL can do. It also presents a simple OpenGL program and explains essential programming details you need to know for subsequent chapters.

Chapter 2, "State Management and Drawing Geometric Objects," explains how to create a three-dimensional geometric description of an object that is eventually drawn on the screen.

Chapter 3, "Viewing," describes how such three-dimensional models are transformed before being drawn on a two-dimensional screen. You can control these transformations to show a particular view of a model.

Chapter 4, "Color," describes how to specify the color and shading method used to draw an object.

Chapter 5, "Lighting," explains how to control the lighting conditions surrounding an object and how that object responds to light (that is, how it reflects or absorbs light). Lighting is an important topic, since objects usually don't look three-dimensional until they're lit. The remaining chapters explain how to optimize or add sophisticated features to your three-dimensional scene. You might choose not to take advantage of many of these features until you're more comfortable with OpenGL. Particularly advanced topics are noted in the text where they occur.

Chapter 6, "Blending, Antialiasing, Fog, and Polygon Offset," describes techniques essential to creating a realistic scene--alpha blending (to create transparent objects), antialiasing (to eliminate jagged edges), atmospheric effects (to simulate fog or smog), and polygon offset (to remove visual artifacts when highlighting the edges of filled polygons).

Chapter 7, "Display Lists," discusses how to store a series of OpenGL commands for execution at a later time. You'll want to use this feature to increase the performance of your OpenGL program.

Chapter 8, "Drawing Pixels, Bitmaps, Fonts, and Images," discusses how to work with sets of two-dimensional data as bitmaps or images. One typical use for bitmaps is describing characters in fonts.

Chapter 9, "Texture Mapping," explains how to map one- and two-dimensional images called textures onto three-dimensional objects. Many marvelous effects can be achieved through texture mapping.

Chapter 10, "The Framebuffer," describes all the possible buffers that can exist in an OpenGL implementation and how you can control them. You can use the buffers for such effects as hidden-surface elimination, stenciling, masking, motion blur, and depth-of-field focusing.

Chapter 11, "Tessellators and Quadrics," shows how to use the tessellation and quadrics routines in the GLU (OpenGL Utility Library).

Chapter 12, "Evaluators and NURBS," gives an introduction to advanced techniques for efficient generation of curves or surfaces.

Chapter 13, "Selection and Feedback," explains how you can use OpenGL's selection mechanism to select an object on the screen. Additionally, the chapter also explains the feedback mechanism, which allows you to collect the drawing information OpenGL produces rather than having it be used to draw on the screen.

Chapter 14, "Now That You Know," describes how to use OpenGL in several clever and unexpected ways to produce interesting results. These techniques are drawn from years of experience with both OpenGL and the technological precursor to OpenGL, the Silicon Graphics IRIS Graphics Library. In addition, there are several appendices that you will likely find useful.

Appendix A, "Order of Operations," gives a technical overview of the operations OpenGL performs, briefly describing them in the order in which they occur as an application executes.

Appendix B, "State Variables," lists the state variables that OpenGL maintains and describes how to obtain their values.

Appendix C, "OpenGL and Window Systems," briefly describes the routines available in window-system-specific libraries, which are extended to support OpenGL rendering. Window system interfaces to the X Window System, Apple MacIntosh, IBM OS/2, and Microsoft Windows NT and Windows 95 are discussed here.

Appendix D, "Basics of GLUT: The OpenGL Utility Toolkit," discusses the library that handles window system operations. GLUT is portable and it makes code examples shorter and more comprehensible.

Appendix E, "Calculating Normal Vectors," tells you how to calculate normal vectors for different types of geometric objects.

Appendix F, "Homogeneous Coordinates and Transformation Matrices," explains some of the mathematics behind matrix transformations.

Appendix G, "Programming Tips," lists some programming tips based on the intentions of the designers of OpenGL that you might find useful.

Appendix H, "OpenGL Invariance," describes when and where an OpenGL implementation must generate the exact pixel values described in the OpenGL specification.

Finally, an extensive Glossary defines the key terms used in this guide. What's New in This Edition

The third edition of the OpenGL Programming Guide includes this new material: Coverage of the following new core capabilities of OpenGL Version 1.2 have been added:
-New vertex array functionality
-Rescaling vertex normals
-New pixel formats (packed pixels and BGRA)
-Texturing enhancements, including 3D textures, texture coordinate edge clamping, new level of detail control, and support for specular highlights to be applied after texturing
Descriptions of the following new optional capabilities of OpenGL Version 1.2 have been added
-The OpenGL imaging subset, which is a set of advanced image processing operations
-Multitexturing
Documentation of new routines in Version 1.3 of GLU (OpenGL Utility Library) Introduction to additional functionality in Version 1.3 of GLX (OpenGL Extension to the X Window System) Bug fixes for the 2nd edition

What You Should Know Before Reading This Guide

This guide assumes only that you know how to program in the C language and that you have some background in mathematics (geometry, trigonometry, linear algebra, calculus, and differential geometry). Even if you have little or no experience with computer-graphics technology, you should be able to follow most of the discussions in this book. Of course, computer graphics is a huge subject, so you may want to enrich your learning experience with supplemental reading.

Computer Graphics: Principles and Practice by James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes (Reading, MA: Addison-Wesley, 1990)--This book is an encyclopedic treatment of the subject of computer graphics. It includes a wealth of information but is probably best read after you have some experience with the subject.

3D Computer Graphics: A User's Guide for Artists and Designers by Andrew S. Glassner (New York: Design Press, 1989)--This book is a nontechnical, gentle introduction to computer graphics. It focuses on the visual effects that can be achieved rather than on the techniques needed to achieve them.

Another great place for all sorts of general information is the Official OpenGL Web Site. This Web site contains software, documentation, FAQs, and news. It is always a good place to start any search for answers to your OpenGL questions: opengl

Once you begin programming with OpenGL, you might want to obtain the OpenGL Reference Manual by the OpenGL Architecture Review Board (Reading, MA: Addison-Wesley), which is designed as a companion volume to this guide. The Reference Manual provides a technical view of how OpenGL operates on data that describes a geometric object or an image to produce an image on the screen. It also contains full descriptions of each set of related OpenGL commands--the parameters used by the commands, the default values for those parameters, and what the commands accomplish. Many OpenGL implementations have this same material on-line, in the form of manual pages or other help documents, which are probably more up-to-date. There are also versions on the World Wide Web; consult the previously mentioned Official OpenGL Web Site.

OpenGL is really a hardware-independent specification of a programming interface, and you use a particular implementation of it on a particular kind of hardware. This guide explains how to program with any OpenGL implementation. However, since implementations may vary slightly--in performance and in providing additional, optional features, for example--you might want to investigate whether supplementary documentation is available for the particular implementation you're using. In addition, you might have OpenGL-related utilities, toolkits, programming and debugging support, widgets, sample programs, and demos available to you with your system.

How to Obtain the Sample Code

This guide contains many sample programs to illustrate the use of particular OpenGL programming techniques. These programs make use of Mark Kilgard's OpenGL Utility Toolkit (GLUT). GLUT is documented in OpenGL Programming for the X Window System by Mark Kilgard (Reading, MA: Addison-Wesley Developers Press, 1996). The section "OpenGL-Related Libraries" in Chapter 1 and Appendix D give more information about using GLUT. If you have access to the Internet, you can obtain the source code for both the sample programs and GLUT for free via anonymous ftp (file-transfer protocol).

For the source code examples found in this book, grab either of these files (depending on which decompression/extraction tools you have): ftp://sgigate.sgi/pub/opengl/opengl12.tar.Z
ftp://sgigate.sgi/pub/opengl/opengl12.zip
Use the appropriate tools to uncompress and/or extract the source code from these archive files.

Many implementations of OpenGL might also include the code samples as part of the system. This source code is probably the best source for your implementation, because it might have been optimized for your system. Read your machine-specific OpenGL documentation to see where the code samples can be found.

Nate Robins' OpenGL Tutors

Nate Robins has written a suite of tutorial programs that demonstrate basic OpenGL programming concepts by allowing the user to modify the parameters of a function and interactively see their effects. Topics covered include transformations, lighting, fog, and texturing. These highly recommended tutorials are portable and require the aforementioned GLUT. To get the source code for these tutorials, see this Web site: cs.utah/~narobins/opengl.html.

Errata

Undoubtedly this book has errors. An error list is maintained at the following Web site: woo/errata.html. If you find any bugs, you can use the pointer at this Web site to report them.

Style Conventions

These style conventions are used in this guide: Bold--Command and routine names and matrices Italics--Variables, arguments, parameter names, spatial dimensions, matrix components, and first occurrences of key terms Regular--Enumerated types and defined constants Code examples are set off from the text in a monospace font, and command summaries are shaded with gray boxes.

In a command summary, braces are used to identify choices among data types. In the following example, glCommand has four possible suffixes: s, i, f, and d, which stand for the data types GLshort, GLint, GLfloat, and GLdouble. In the function prototype for glCommand, TYPE is a wildcard that represents the data type indicated by the suffix:

void glCommand{sifd}(TYPE x1, TYPE y1, TYPE x2, TYPE y2);

0201604582P04062001

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional; 3rd edition (August 6, 1999)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 800 pages
  • ISBN-10 ‏ : ‎ 0201604582
  • ISBN-13 ‏ : ‎ 978-0201604580
  • Item Weight ‏ : ‎ 2.64 pounds
  • Dimensions ‏ : ‎ 7.36 x 1.42 x 9.21 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 36 ratings

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.6 out of 5 stars
36 global ratings

Top reviews from the United States

Reviewed in the United States on February 13, 2013
this is a very good book.
it contains a lots of example so that I can try it myself.
there are also explanations about the code which helps a lot.
Reviewed in the United States on May 24, 2002
Straight to the facts...
This book is good on concepts and theory, a bit shadey in the area of actual code. To expand on that statement, some of the code is indeed buggy. You can work the logic errors easily by evaluating the code. But with that said, don't rely on the code all the time. The book's way of introducing and covering topics of geometry,algebra,trigonomtry, and physics is very comfortable. You will indeed learn the beautiful tricks of smoothing and shading/lighting when rendering your scenes.
If you are a beginner developer, know that this book is not intended as a good read at your level.
If you don't already know, OpenGL does not have any audio(music,sound,etc) capabilities. OpenGL is a Graphical Software Development Kit.
5 people found this helpful
Report
Reviewed in the United States on July 15, 2010
The Red Book is the bible for OpenGL programmers. Get the latest edition and you'll have all you need for OpenGL reference.
Reviewed in the United States on September 23, 2001
I'm new to graphics programming. I started out by programming in DirectX, using LaMothe's "Windows Game Programming for Dummies". The book was OK, but due to the extreme confusion of DirectX, I wasn't able to understand past chapter 3.
So, if you're confused about DirectX and really need to program in OpenGL, that's the best book to buy. The book takes you step by step from scratch to building up your program. Tons of coding examples are included in the book, and are very well documented. What's good about this book is all the coding examples are based on the C language. So, if you're not a good C++ programmer, or a better C than a C++ programmer, then this is the book to get.
One drawback about the book, is it doesn't include a CD. So, you have to write all the code yourself. That gives you a hands-on experience. The book also doesn't include the GLUT library, and most of the examples in the book use it. So you have to download it. ...
11 people found this helpful
Report
Reviewed in the United States on October 17, 2001
Admittedly inspired by the classic action game Tomb Raider. I have, since that day, dreamt of a world of three dimensional, hyperrealistic pleasures. Creating such a place became my goal in life, but it soon became obvious that a lack of programming knowledge and oppressive age-restrictive laws were standing firmly in my way. An incomplete middle-high-school mathematical education left me totally clueless, but sheer determination kept me going for far longer than I had imagined I could have. All was to no avail, however. Frustrated with Visual Basic and mspaint.exe. But, fate showed pity, and as I browsed, I was, by some miracle of divine intervention. Making the decision to postpone my alternative purchase was a difficult one, but bo am I glad I did. This book has been an invaluable tool in the realisation of my vision, and although my world is far from complete... the wireframe pleasures I witness are more than enough to keep me going late into the night.
5 people found this helpful
Report
Reviewed in the United States on February 14, 2002
This is a very helpful book for learning OpenGl. However, dont expect it to teach you C++, you had better already know that before you try to learn OpenGL. Good examples and easy to read.
One person found this helpful
Report
Reviewed in the United States on November 10, 1999
Before I started reading this book, I tried learning from the Direct3D on-line documentation. I had no previous knowledge in polygons at all. I had managed to hack up an unlit polygon, but I still never knew what I was doing. After much frustration (help files are never helpful) I decided to bite the bullet and buy a book on OpenGL. This book has been the best investment I have made so far to my programming career. Even if you want to use a different 3d API, you should start with this book, because OpenGL is EASY to learn. In fact, I can even understand D3D documentation now!
13 people found this helpful
Report
Reviewed in the United States on February 11, 2000
This is the best place to start learning about OpenGL and it has enough depth and scope to keep you refering to it at an advanced level. I am pleased that each edition gets better. Not only by adding the new features of the latest release of OpenGL but also revising the older chapters to improve their clarity. You really can't go that wrong with this book but be aware that there are some vector and matrix calculations here that assume you have prior knowledge of why it works. Overall a good balance of theory, code samples and math. Also, if you are using an earlier version of OpenGL (1.0 or 1.1) can still use this book, just make sure you watch out for the comments as to which features are available in which version.
9 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Rishikesh
5.0 out of 5 stars Redbook 3rd edition
Reviewed in India on October 20, 2020
Book received in good condition. Really good for opengl. Redbook third edition and superbible 4th edition these are two books for opengl programming are best.
Sébastien
5.0 out of 5 stars Livre bien reçus!
Reviewed in France on February 29, 2020
J'ai bien reçus ce livre et assez rapidement. Il est dans un état correct (un peu de poussière)...C'est un livre d'occasion des années 2000, donc il a vieilli avec le temps, mais il est en bon état général et je suis contant de cet achat. Merci.
Customer image
Sébastien
5.0 out of 5 stars Livre bien reçus!
Reviewed in France on February 29, 2020
J'ai bien reçus ce livre et assez rapidement. Il est dans un état correct (un peu de poussière)...C'est un livre d'occasion des années 2000, donc il a vieilli avec le temps, mais il est en bon état général et je suis contant de cet achat. Merci.
Images in this review
Customer image
Customer image
Théo
4.0 out of 5 stars Feuilles ont tendances à se décoller
Reviewed in France on January 7, 2022
Bon livre autrement
Onkar S.
5.0 out of 5 stars For fixed functional pipeline
Reviewed in India on February 9, 2017
Book is too good for fixed functional pipeline.
Condition is also great.
William J
4.0 out of 5 stars Très bien !
Reviewed in France on November 1, 2017
Livré rapidement, en bon état. Largement suffisant pour qui souhaite se mettre à la programmation en OpenGl. Nécessite une bonne maitrise du C/C++. Comporte de nombreux exemples bien documentés.