Jump to content

OpenGL

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hephaestos (talk | contribs) at 14:03, 11 October 2002 (copyedit). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


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). The interface 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 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, ATI, Dell Computer, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, NVIDIA, Microsoft, SGI, and Sun Microsystems.

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 ARB "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 Farenheit 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

For more information about OpenGL visit http://www.opengl.org