OpenGL is an extensible API, and these notes make references to OpenGL extensions that enhance OpenGL's base functionality. By design, OpenGL implementors are free to extend OpenGL's basic rendering functionality with new rendering operations. This extensibility was one of OpenGL's original design goals. Scores of OpenGL extensions have been specified and implemented. These extensions provide OpenGL application developers with new rendering features above and beyond the features specified in the official OpenGL standard. OpenGL extensions keep the OpenGL API current with the latest innovations in graphics hardware and rendering algorithms. This section describes the OpenGL extension mechanism. You will learn not just how extensions are used and documented but also how to use extensions portably in your programs. Particular attention is paid to using OpenGL extensions in the Win32 environment because of the additional hoops that Win32 makes you jump through.