OpenGL - Design

Design

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. For example, the Microsoft Windows implementation of OpenGL will perform all of its rendering commands using a GPU, when one is available.

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 very 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.

As well as 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 - it provides no APIs related to input, audio or windowing. This is perhaps the greatest difference between OpenGL and its competitor, DirectX.

Read more about this topic:  OpenGL

Famous quotes containing the word design:

    A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering.
    Freeman Dyson (b. 1923)

    Westerners inherit
    A design for living
    Deeper into matter—
    Not without due patter
    Of a great misgiving.
    Robert Frost (1874–1963)

    I always consider the settlement of America with reverence and wonder, as the opening of a grand scene and design in providence, for the illumination of the ignorant and the emancipation of the slavish part of mankind all over the earth.
    John Adams (1735–1826)