An introduction to shader-based OpenGL programming
Edward S. Angel, Dave Shreiner · 2009
OpenGL is the most widely available application programming interface (API) for creating applications in almost every area of computer graphics including research, scientific visualization, entertainment and visual effects, computer-aided design, interactive gaming, and many more. Over the past decade, OpenGL has evolved to a large API with multiple, sometimes incompatible, versions. Recent versions of OpenGL have become shader-based, and the original fixed-function pipeline may not be available.