OpenGL is a specification defining a cross-language cross-platform API for writing applications that produce 3D computer graphics. The interface consists of about 250 different commands which can be used to build complicated three dimensional scenes from simple primitives. It is very popular in the video games development industry where it competes with Direct3D (on Microsoft Windows). OpenGL is also used in CAD and Virtual reality programs.
The interface of OpenGL is designed to be portable and hardware independent. Efficient implementations of it (leveraging graphics acceleration hardware to a greater or lesser extent) exist in Windows, many UNIX platforms, and MacOS.
The open source Mesa[?] is a graphics API which is completely compatible with OpenGL. However, for trademark reasons it is not formally an implementation of OpenGL. The OpenGL specification is overseen by the OpenGL Architecture Review Board (ARB) which was formed in 1992. The ARB consists of a set of companies with a vested interest in creating a consistent and widely available API. According to the official OpenGL website, voting members of the ARB as of June 2002 include 3Dlabs[?], Apple Computer, ATI, Dell Computer, Evans & Sutherland[?], Hewlett-Packard, IBM, Intel, Matrox, NVIDIA, SGI and Sun Microsystems. (Microsoft left in March 2003)
The OpenGL standard allows specific vendor to provide extended functionality through extensions as new technology is created. An extension is then distributed in two parts: as a header file which contains the extension's function prototypes, and as the vendor's Device driver. Each vendor has an alphabetic abbreviation that is used in naming their new functions and constants. For example, NVIDIA's abbreviation ("NV") is used in defining their proprietary function "glCombinerParameterfvNV()" and their constant "GL_NORMAL_MAP_NV". It may happen that more than one vendor agrees to implement the same extended functionality. In that case, the abbreviation "EXT" is used. It may further happen that the Achitecture Review Board "blesses" the extension. It then becomes known as a "standard extension", and the abbreviation "ARB" is used. The first ARB extension was GL_ARB_multitexture.
OpenGL evolved from (and is very similar in style to) SGI's earlier 3D interface, IrisGL[?]. The Fahrenheit project was a joint effort between Microsoft and SGI with the goal of unifying the OpenGL and Direct3D interfaces. It initally showed some promise of bringing order to the world of interactive 3D computer graphics APIs, but due to financial constraints at SGI, it has since been abandoned.
Several libraries are built on top of OpenGL to provide features not available in OpenGL itself:
OpenGL video games
Search Encyclopedia
|
Featured Article
|