MiniGL

Last updated
MiniGL
Developer(s) 3dfx Interactive and others
Initial release1996;26 years ago (1996)
Written in C, C++, Assembly
Type Graphics library

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.

Contents

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 [1] and AmigaOS. [2]

See also

Related Research Articles

DirectX Collection of multimedia related APIs on Microsoft platforms

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as a shorthand term for all of these APIs and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.

<i>Hexen II</i> 1997 video game

Hexen II is a dark fantasy first-person shooter (FPS) video game developed by Raven Software from 1996 to 1997, then published by id Software and distributed by Activision. It is the third game in the Hexen/Heretic series, and the last in the Serpent Riders trilogy. It was later made available on Steam on August 3, 2007. Using a modified Quake engine, it features single-player and multiplayer game modes, as well as four character classes to choose from, each with different abilities. These include the "offensive" Paladin, the "defensive" Crusader, the spell-casting Necromancer, and the stealthy Assassin.

OpenGL Cross-platform graphics API

OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

3dfx Interactive American technology company

3dfx Interactive was an American technology company headquartered in San Jose, California, founded in 1994, that specialized in the manufacturing of 3D graphics processing units, and later, video cards. It was a pioneer in the field from the late 1990s until 2000.

OpenAL

OpenAL is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL. OpenAL is an environmental 3D audio library, which can add realism to a game by simulating attenuation, the Doppler effect, and material densities. OpenAL aimed to originally be an open standard and open-source replacement for proprietary 3D audio APIs such as DirectSound and Core Audio, though in practice has largely been implemented on various platforms as a wrapper around said proprietary APIs or as a proprietary and vendor-specific fork. While the reference implementation later became proprietary, there are open source implementations such as OpenAL Soft available.

RIVA 128 GPU by Nvidia

Released in August 1997 by Nvidia, the RIVA 128, or "NV3", was one of the first consumer graphics processing units to integrate 3D acceleration in addition to traditional 2D and video acceleration. Its name is an acronym for Real-time Interactive Video and Animation accelerator.

RIVA TNT GPU by Nvidia

The RIVA TNT, codenamed NV4, is a 2D, video, and 3D graphics accelerator chip for PCs that was developed by Nvidia. It was released in mid-1998 and cemented Nvidia's reputation as a worthy rival within the developing consumer 3D graphics adapter industry. The first RIVA TNT based card was released on June 15, 1998, by STB Systems: Velocity 4400. RIVA is an acronym for Real-time Interactive Video and Animation accelerator. The "TNT" suffix refers to the chip's ability to work on two texels at once.

QuickDraw 3D 3D graphics API developed by Apple Inc.

QuickDraw 3D, or QD3D for short, is a 3D graphics API developed by Apple Inc. starting in 1995, originally for their Macintosh computers, but delivered as a cross-platform system.

DirectSound is a deprecated software component of the Microsoft DirectX library for the Windows operating system, superseded by XAudio2. It provides a low-latency interface to sound card drivers written for Windows 95 through Windows XP and can handle the mixing and recording of multiple audio streams. DirectSound was originally written for Microsoft by John Miles.

Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For massively multiplayer online games (MMOGs), knowledge of additional areas such as network programming and database programming are required. Though often engaged in by professional game programmers, some may program games as a hobby.

Direct3D and OpenGL are competing application programming interfaces (APIs) which can be used in applications to render 2D and 3D computer graphics. As of 2005, graphics processing units (GPUs) almost always implement one version of both of these APIs. Examples include: DirectX 9 and OpenGL 2 circa 2004; DirectX 10 and OpenGL 3 circa 2008; and most recently, DirectX 11 and OpenGL 4 circa 2011. GPUs that support more recent versions of the standards are backward compatible with applications that use the older standards; for example, one can run older DirectX 9 games on a more recent DirectX 11-certified GPU.

S3 ViRGE

The S3 Virtual Reality Graphics Engine (ViRGE) graphics chipset was one of the first 2D/3D accelerators designed for the mass market.

Glide is a 3D graphics API developed by 3dfx Interactive for their Voodoo Graphics 3D accelerator cards. Although it originally started as a proprietary API, it was later open sourced by 3dfx. It was dedicated to rendering performance, supporting geometry and texture mapping primarily, in data formats identical to those used internally in their cards. Wide adoption of 3Dfx led to Glide being extensively used in the late 1990s, but further refinement of Microsoft's Direct3D and the appearance of full OpenGL implementations from other graphics card vendors, in addition to growing diversity in 3D hardware, eventually caused it to become superfluous.

Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open-source software implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.

Xgl Display server implementation

Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or Beryl. The project was started by David Reveman of Novell and first released on January 2, 2006. It was removed from the X.org server in favor of AIGLX on June 12, 2008.

Rendition was a maker of 3D computer graphics chipsets in the mid to late 1990s. They were known for products such as the Vérité 1000 and Vérité 2x00 and for being one of the first 3D chipset makers to directly work with Quake developer John Carmack to make a hardware-accelerated version of the game (vQuake). Rendition's major competitor at the time was 3Dfx. Their proprietary rendering APIs were Speedy3D and RRedline.

The Intel Graphics Media Accelerator (GMA) is a series of integrated graphics processors introduced in 2004 by Intel, replacing the earlier Intel Extreme Graphics series and being succeeded by the Intel HD and Iris Graphics series.

Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.

Warp3D was a project, founded by Haage & Partner in 1998, that aimed to provide a standard API which would enable programmers to access, and therefore use, 3D hardware on the Amiga.

Voodoo2 Series of GPUs

The Voodoo2 is a set of three specialized 3D graphics chips on a single chipset setup, made by 3dfx. It was released in February 1998 as a replacement for the original Voodoo Graphics chipset. The card runs at a chipset clock rate of 90 MHz and uses 100 MHz EDO DRAM, and is available for the PCI interface. The Voodoo2 comes in two models, one with 8 MB RAM and one with 12 MB RAM. The 8 MB card has 2 MB of memory per texture mapping unit (TMU) vs. 4 MB on the 12 MB model. The 4 MB framebuffer on both cards support a maximum screen resolution of 800 × 600, while the increased texture memory on the 12 MB card allows more detailed textures. Some boards with 8 MB can be upgraded to 12 MB with an additional daughter board.

References

  1. "DSBox | miniGL". June 7, 2000. Archived from the original on 2000-06-07.
  2. "MiniGL | HDRLab". hdrlab.org.nz.