MiniGL


MiniGL is an incomplete implementation of the OpenGL specification which implements enough of the API to allow 3D video games in the late 1990s to run with hardware acceleration on contemporary graphics cards, which otherwise provided their own APIs. The original implementation came from 3dfx Interactive, and was designed around supporting Quake. Other companies implementing similar software included PowerVR and Rendition.

History

In 1996, id Software announced that the Rendition Vérité was to be the only hardware 3D accelerator targeted by Quake. Partly because of the perceived hassle in supporting chipset specific APIs and partly because Quake's development heritage on high-end workstations made such a thing easy. They also released a Microsoft Windows port of their OpenGL version of Quake, even though no consumer chipset had OpenGL support at the time.
In response, 3dfx developed and quickly released the first MiniGL: a quick implementation of the bare minimum amount of the OpenGL API that was required to run the OpenGL version of Quake. By obtaining a copy of the OpenGL Quake executable and a copy of the relevant MiniGL, 3dfx owners could easily modify their copies of Quake to play with full 3D acceleration, giving a smoother and better looking display than was possible with the Quake software renderer. After the success of the 3dfx original, several other manufacturers followed 3dfx in producing MiniGL drivers.
At the time, the OpenGL API was almost universally agreed to be superior to the then new and immature Direct3D system from Microsoft, so following the arrival of the various MiniGLs, many programmers sought to use them in other programs as an easy way of supporting multiple 3D chipsets. Unfortunately, id Software had not released any official list of OpenGL calls and parameters used by Quake and none of the MiniGL implementors had released lists of what their implementation would and would not support.
In practice, this led to a very cautious use of OpenGL features by programmers and new releases of MiniGLs with slightly more functionality every time a major game came along that did not work on the previous generation.
All major 3D card manufacturers now support complete OpenGL implementations, negating the need for any sort of MiniGL.

Other implementations

MiniGL implementations have been developed for other operating systems, including Palm OS and AmigaOS.