HomeDownloadsColor FiguresLinksBack Cover TextErrata

As errors are found in OpenGL® Distilled, errata will be available from this Web page.

If you believe you've spotted an error in OpenGL® Distilled, please send an email to:

errata 'at' opengldistilled 'dot' com


All page numbers reference the original Addision Wesley English translation.

p23— The code in Listing 1-1 contains an incorrect check for the of the Vertex Array feature. The line:

    const bool useVertexArrays = ( (major >= 1) && (minor >= 1) );
should be changed to:
    const bool useVertexArrays = (
        (major >= 2) ||
        ( (major == 1) && (minor >= 1) ) );

p52-53— The code in Listing 2-1, while technically correct, doesn't reflect the Cylinder class in the example code. The book states that, if the OpenGL version is 1.5 or higher, the Cylinder class init() method allocates buffer objects and stores data in them; this is true only for the Cylinder classes found in OGLDCylinder.cpp. (In fact, the init() method calls the storeData() method to set up buffer objects.)

There is a second Cylinder class in the VertexArray example, SimpleCylinder.cpp. This is a simple example of using Vertex Arrays in an OpenGL 1.1 implementation. You should refer to the classes in OGLDCylinder.cpp for an example of version-independent code that supports buffer objects.

p56— The parameter is glClear() is incorrectly stated as GL_DEPTH)BUFFER_BIT. It should be GL_DEPTH_BUFFER_BIT

p160— The book incorrectly states that the TextureMapping example uses a Heightfield class. In fact, there is no Heightfield class in the example code. The Texture Mapping example actually uses an alternate constructor in the ogld::Plane class that accepts an array of z values. In this way, ogld::Plane can act like both a plane or a heightfield, depending on the constructor used.