OpenGL is a widely-accepted application programming interface (API) for interactive 3D graphics rendering and 2D imaging. It provides device-independent support for common low-level 3D graphics drawing operations such as polygon specification, basic lighting control, transformation specification, and framebuffer operations like blending and depth-buffering.
It also provides mechanisms for sending and retrieving 2D images to and from the framebuffer, and integrates 3D graphics with 2D imaging through texture mapping. While other low-level graphics APIs have provided similar functionality to that of OpenGL, OpenGL takes a novel approach in the presentation of many of its features.
In addition to providing a simple model for combining 3D graphics with 2D imaging, OpenGL makes a clear separation between high- and low-level functionality, stresses fine-grained control and feature orthogonality, and is designed for excellent performance from basic PCs to high-end graphics workstations.
OpenGL also specifies a fixed rendering pipeline that both provides a model for implementations and a clear foundation for adding new functionality. ..