About the Book
        
        Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. Pages: 42. Chapters: ARB (GPU assembly language), Chromium (computer graphics), Comparison of OpenGL and Direct3D, Core OpenGL, Fahrenheit graphics API, Framebuffer Object, Freeglut, GLSL, GLX, ILNumerics.Net, Immediate mode, Libpolo, List of OpenGL programs, Mesa (computer graphics), MiniGL, MiniGLX, OpenGL++, OpenGL Architecture Review Board, OpenGL Easy Extension library, OpenGL ES, OpenGL Extension Wrangler Library, OpenGL Mathematics, OpenGL Multipipe, OpenGL Performer, OpenGL SC, OpenGL User Interface Library, OpenGL Utility Library, OpenGL Utility Toolkit, Open Inventor, Pixel buffer, Vertex Buffer Object, VirtualGL, Visualization Library, WebGL, Xgl. Excerpt: OpenGL (Open Graphics Library) is a cross-language, multi-platform API for rendering 2D and 3D computer graphics. The API is typically used to interact with a GPU, to achieve hardware-accelerated rendering. OpenGL was developed by Silicon Graphics Inc. (SGI) from 1991 and released in January 1992 and is widely used in CAD, virtual reality, scientific visualization, information visualization, flight simulation, and video games. OpenGL is managed by the non-profit technology consortium Khronos Group. The OpenGL specification describes an abstract API for drawing 2D and 3D graphics. Although it's possible for the API to be implemented entirely in software, it's designed to be implemented mostly or entirely in hardware. The API is defined as a number of functions which may be called by the client program, alongside a number of named integer constants (for example, the constant GL_TEXTURE_2D, which corresponds to the decimal number 3553). Although the function definitions are superficially similar to those of the C programming language, they are language-independent. As such, OpenGL has many language bindings, some of the most noteworthy being the JavaScript binding WebGL; the C bindings WGL, GLX and CGL; the C binding provided by iOS; and the Java and C bindings provided by Android. In addition to being language-independent, OpenGL is also platform-independent. The specification says nothing on the subject of obtaining, and managing, an OpenGL context, leaving this as a detail of the underlying windowing system. For the same reason, OpenGL is purely concerned with rendering, providing no APIs related to input, audio, or windowing. OpenGL is an evolving API. New versions of the OpenGL specification are regularly released by the Khronos Group, each of which extends the API to support various new features. The details of each version are decided by consensus between the Group's members, including graphics card manufacturers, operating system designers, and general technolo