OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1. 4 / Edition 4

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (22) from $1.99   
  • New (4) from $17.32   
  • Used (18) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2007

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

2003-11-13 Paperback New NEW-IT IS BRAND NEW-clean text, tight binding, It is free from any foreign markings.

Ships from: Rockford, IL

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Seller since 2008

Feedback rating:


Condition: New

Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2015

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2015

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by


OpenGL is a powerful software interface used to produce high-quality, computer- generated images and interactive applications using 2D and 3D objects and color bitmaps and images.

The OpenGL Programming Guide, Fourth Edition, provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. The previous edition covered OpenGL through version 1.2. This fourth edition of the best-selling guide describes all of the latest features of OpenGL versions 1.3 and 1.4, as well as the important OpenGL Architecture Review Board (ARB) extensions.

You will find clear explanations of OpenGL functionality and many basic computer graphics techniques, such as building and rendering 3D models; interactively viewing objects from different perspective points; and using shading, lighting, and texturing effects for greater realism. In addition, this book provides in-depth coverage of advanced techniques, including texture mapping, antialiasing, fog and atmospheric effects, NURBS, image processing, and more. The text also explores other key topics such as enhancing performance, OpenGL extensions, and cross-platform techniques.

This fourth edition has been extensively updated to include the newest features of OpenGL, versions 1.3 and 1.4, including:

  • Cube-mapped texture mapping
  • Multitexturing
  • Multisampled antialiasing
  • Depth texturing and shadows
  • Advanced texture application modes

Most importantly, the ARB vertex and fragment program extension is introduced. Many new example programs have been incorporated as well.


Read More Show Less

Product Details

  • ISBN-13: 9780321173485
  • Publisher: Pearson Education
  • Publication date: 11/14/2003
  • Edition description: Older Edition
  • Edition number: 4
  • Pages: 758
  • Product dimensions: 6.98 (w) x 9.00 (h) x 1.49 (d)

Table of Contents

About This Guide
1 Introduction to OpenGL 1
2 State Management and Drawing Geometric Objects 27
3 Viewing 97
4 Color 159
5 Lighting 177
6 Blending, Antialiasing, Fog, and Polygon Offset 223
7 Display Lists 271
8 Drawing Pixels, Bitmaps, Fonts, and Images 295
9 Texture Mapping 359
10 The Framebuffer 451
11 Tessellators and Quadrics 487
12 Evaluators and NURBS 515
13 Selection and Feedback 551
14 Now That You Know 581
A Order of Operations 613
B State Variables 619
C OpenGL and Window Systems 659
D Basics of GLUT: The OpenGL Utility Toolkit 683
E Calculating Normal Vectors 691
F Homogeneous Coordinates and Transformation Matrices 697
G Programming Tips 703
H OpenGL Invariance 709
Glossary 713
Index 735
Read More Show Less


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 usuallydon'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-, two-, and three-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," sho 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 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 are discussed here.
  • Appendix D, "Basics of GLUT: The OpenGL Utility Toolkit," discusses the library that handles window system operations 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 fourth edition of the OpenGL Programming Guide includes new and updated material, covering both OpenGL Version 1.3 and 1.4:

Coverage of the following new core capabilities of OpenGL Version 1.3 have been added:

  • Multisampling
  • Row major matrices
  • Texturing enhancements, including cube map textures, compressed texture images, new texture environment modes (GL_ADD and GL_COMBINE), and a new texture wrapping mode (GL_CLAMP_TO_BORDER)

Coverage of these OpenGL Version 1.4 core features:

  • Multiple draw vertex arrays
  • Raster position specification based upon window coordinates, not world coordinates
  • New blending functionality, including separate RGB and alpha blending functions
  • Fog coordinates that may be explicitly associated with vertices
  • Point parameters that contro primitives
  • Secondary color for post-texturing application
  • New texturing features, such as a level-of-detail bias for mipmap selection, automatic mipmap regeneration, the GL_MIRRORED_REPEAT texture wrapping mode, and depth texture images
  • New stencil operations that allow stencil values to wrap around, rather than clamp to a minimum or maximum value

The previously published section on multitexturing has been updated to reflect the promotion of multitexturing to the core OpenGL feature set

Bug fixes

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 (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 by Andrew S. Glassner (The Lyons Press, 1994)—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.

Ano 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

Once you begin programming with OpenGL, you might want to obtain the OpenGL Reference Manual by the OpenGL Architecture Review Board (also published by 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 online, 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 (Addison-Wesley, 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 one of these files (depending on which decompression/extraction tools you have):

Use the appropriate tools to uncompress and/or extract the source code from these archive files.

For Mark Kilgard's source code for GLUT (for Microsoft Windows or the X Window System), check this Web page to find out what current version of GLUT is available and from where to download the source code. 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.


Undoubtedly this book has errors. If you find any bugs, you can use the pointer at this Web site to report them.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted December 25, 2003

    Learn Computer Graphics

    A nifty explanation of practical graphics programming. Not so long ago (well, the 80s), if you wanted to do computer graphics with, say, a light source and Gourard shading, the only recourse was a $100 000 Evans and Sutherland machine. Plus, any code was in the latter's native graphics library, further increasing your dependence on that company. Along came SGI, who basically then took the workstation graphics market in the 90s. One of the good things SGI did was to promote OpenGL as a set of graphics routines. Gradually, with each iteration of OpenGL, it moved from a dependence on SGI hardware and IRIX (their version of Unix) to a software interface that frees you from a given hardware platform. This, and the sheer functional sweep of the graphics capabilities described in the book, may make OpenGL the easiest way for anyone to learn and apply graphics. The book describes such necessities (which is what these have become nowadays) as texture mapping, NURBS, tesselations and motion blur. The book covers topics up to, but not including, ray tracing. The book is an ideal companion to a pure graphics text, that goes into the theory. The emphasis here is on showing how you can apply that theory, without having to code elementary operations from scratch. The authors do describe some theory, but only the pragmatic minimum necessary to motivate an explanation of the library's routines. In other words, you will not get drowned in maths!

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)