What Is OpenGL

What Is OpenGL

What Is OpenGL?

OpenGL (Open Graphics Library) is a specification that defines a multi-platform API for writing applications of 3D images (but also 2D). It uses internal representations of projective geometry to avoid any situation involving infinite.

The interface includes about 250 different functions that can be used to display complex three-dimensional scenes from simple geometric primitives. Because of its openness, its flexibility and its availability on all platforms, it is used by the majority of scientific, industrial or artistic 3D and 2D vector some applications. This library is also used in the video game industry where it is often in rivalry with the library of Microsoft Direct3D. A version called OpenGL ES has been designed specifically for embedded applications (mobile phones, pocket diary, game consoles, etc.).

OpenGL is an evolution of IrisGL, 3D API developed by SGI. The latter is difficult to evolve and expand, it was decided that at SGI OpenGL can be considered a superset of IrisGL. The specifications and basic developments have been made by a team of IMS. Fahrenheit Project, an initiative of Microsoft and IMS, tried to unify the interfaces OpenGL and Direct3D. This brought the hope of beginning to put order into the world of 3D APIs, but for financial constraints on the part of IMS, the project had to be abandoned.

The OpenGL specification is being supervised by the Architecture Review Board (ARB), formed in 1992. The ARB consists of companies with a deep interest in creating a coherent and widely available API. According to the official site for OpenGL, 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, nVidia, SGI and Sun Microsystems are among the voting members (June 2002). Microsoft, one of the founding members, retired in March 2003.

On July 31, 2006 at the Siggraph conference, the ARB has announced its decision to transfer control of the OpenGL specification to Khronos Group, which was already involved in various specifications OpenGL for embedded systems and video game consoles including OpenGL ES. The Architecture Review Board was dissolved Sept. 21, 2006, but for historical reasons, the acronym “ARB” has been preserved.

The official specifications of OpenGL 3.0 were presented August 11, 2008. Originally, OpenGL 3 should be a major change, a complete overhaul of the API to make it more competitive with Direct3D. This particular issue was to abandon the obsolete functionality that was hitherto kept only for compatibility with older versions, using a new object model that encapsulates particular more coherent states, etc. However, after a year late and a total lack of communication from the Khronos Group, the overhaul has been abandoned in favor of an incremental update to simply support the latest graphics technologies.

This decision was due to the desire to reassure some markets, such as CAD, not wishing to see these older features vanish. Nevertheless, the deprecated functions will be marked “deprecated” in the new specifications, and could be removed in future versions.

The OpenGL Extensions

The OpenGL standard allows individual manufacturers to add new features as extensions. An extension is distributed in two parts: a header file that contains the functions prototypes of the extension and the drivers from the manufacturer. Each of them has an abbreviation that is used to name their new functions and constants. For example, the abbreviation of nVidia (NV) is used to define function owner “glCombinerParameterfvNV ()” and their constant “GL_NORMAL_MAP_NV. Sometimes more than one manufacturer implements the same functionality. In this case, the abbreviation EXT is used. It may also happen that formalizes the ARB extension. It then becomes a standard and the abbreviation “ARB” is used. The first ARB extension was GL_ARB_multitexture.

OpenGL Library

Many libraries are developed using OpenGL to provide features not available in the OpenGL library itself:

  • GLU
  • GLUT
  • Gluyas
  • GLEW
  • GLEE
  • Glfw
  • GLM

Most notably, the OpenGL Performer library, developed by SGI and available for IRIX, Linux and some versions of Windows, which allows the creation of real-time rendering applications.

The OpenGL Implementations

Many implementations of OpenGL (3D acceleration operator provided by the hardware) exist for Windows, many Unix workstations and Mac OS. These implementations are generally provided by manufacturers of graphics hardware and are closely related. There is a free implementation of this library named Mesa, founded 1993 by Brian Paul and who uses the same API, which allows:

  • To pass the license OpenGL in most cases
  • To run OpenGL applications on X terminals that are in principle unfit (the performance is so poor, but it is sometimes better than no enforcement at all if one does not need to use any animation in real time). These stations do not usually have 3D functions, one can not but use it only for simple models with few polygons.

Interest SGI OpenGL

IMS makes every time in the public domain version N-1 GL, GL graphics library. This marketing approach

  • Discourages competition (OpenGL is free and open, why develop something else?)
  • Discourages modifying OpenGL (because any addition would be to start in the next version of OpenGL)
  • SGI provides a substantial competitive advantage, since GL has always a step ahead of OpenGL. It constitutes a form of sponsorship improving the image of society that puts its ancient works in the public domain.

Use of The OpenGL

Some software uses OpenGL to manage all of their interface, even 2D, Blender, Google Earth, or the SGI version of X11.

Study: From Wikipedia, the free encyclopedia. The text is available under the Creative Commons.

Sharing

Leave your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.