Should I use OpenGL?

OpenGL (Open Graphics Library) is a specification for a platform and programming language independent API (Application Programming Interface) for the development of 2D and 3D computer graphics. The OpenGL standard describes around 250 commands that allow complex 3D scenes to be displayed in real time. However, manufacturers can also define their own extensions.

OpenGL is just a standard, not an implementation. How the operating system processes the commands is up to the graphics card driver, which forwards the commands to the graphics card (hardware or direct rendering) or executes them on the CPU if the graphics card cannot process the corresponding command (software rendering). The implementations are therefore usually provided by the manufacturer, but there are also open source variants such as B. the Mesa library.

Basically, OpenGL works on the principle of a state machine. This means that not all parameters have to be set for each function call, but many variables are kept global. The reason is that z. For example, you don't want to send the color to the graphics card once for each vertex (which would be too slow) but rather define a color once and have all the following vertices displayed in this color.

OpenGL was originally developed from IRIS GL developed by Silicon Graphics (SGI). In the so-called Fahrenheit project, Microsoft and SGI tried to unify their 3D standards, but the project was canceled due to financial difficulties on the part of SGI.

The OpenGL standard is set by the OpenGL Architecture Review Board (ARB). The ARB has existed since 1992 and consists of a number of companies such as 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, NVidia, SGI and Sun. Microsoft, one of the founding members, left the ARB in March 2003. New functions in OpenGL are usually first introduced as manufacturer-specific extensions and then go through manufacturer-independent extensions and ARB extensions to core functionality. This makes it possible to use the latest possibilities of graphics hardware and still keep OpenGL abstract enough.

Due to its platform independence, OpenGL is still the leading 3D standard in the professional field. In the field of computer games, however, Microsoft's Direct3D? displaced and still holds mainly due to the popularity of id Software's engines and portability to other platforms. The current version of the standard is OpenGL 2.0. With this version, the OpenGL Shading Language was also included in the standard, with the help of which it is not only possible to use predefined functions of the graphics cards, but also to run your own programs (so-called shaders) directly on the graphics card.

Have reworked the site a bit HermannWacker