glDoom
From DoomWiki.org
glDoom | |
Codebase | WinDoom |
---|---|
Developer(s) | Bruce A. Lewis, Vsevolod Popov (RedPowar) |
Initial release | Public alpha (1998-10-05, 25 years ago) |
Latest release | 0.96c (2022-10-31, 16 months ago) |
Development status | Discontinued |
Written in | C |
Target Platform | Windows |
Available in | English (United States) |
License | Doom Source License |
glDoom (created and maintained by Bruce Lewis), based on WinDoom, was the first source port to add OpenGL support to Doom. It was instrumental into the development of other hardware accelerated versions of Doom, inspiring projects such as Doom Legacy, Doomsday, GZDoom, and others.
Contents
History
glDoom was concieved on February 1, 1998. Lewis sought to improve his existing WinDoom codebase with a OpenGL renderer to support only hardware that actually accelerated hardware instead of relying on wrappers or closed source alternatives. Lewis kept extensive notes during the development of his port, describing the setbacks he experienced when he created the renderer. His notes provided him with several people willing to test his work out, leading to Lewis on occasion remarking that he had more than enough testers available. As such, glDoom was tested on a wide range of early 3D hardware at the time.
A first private alpha was released to an artist named Bill, on May 10, 1998. Described as a very EARLY alpha version of glDoom, this build would not play through levels properly, with the renderer not drawing everything required in the scene and being unoptimized. It required a separate file, sky1top.bmp because this build was made for the sky artist to work with. A separate 3dfx version utilizing Mesa was included but had significant more bugs. DirectX 5 was required to run this build.
A special build for Matrox video cards followed on August 27, 1998. Described as a alpha release, this build was for evaluation and drive work only. The separate sky1top.bmp was still needed because this build was made for the sky artist to work with which likely is the same Bill. It also disabled some features to increase stability and lightmaps were not enabled.
The first public alpha was released on October 5, 1998. Before beta testing could be completed and the source code released publicly, the source was lost to a hard drive issue. This happened after version 0.94d was released on December 16, 1998. The last official glDoom version was released on December 23, 1998, as version 0.94e.
2010 reappearance
In April 2010, glDoom reappeared on SourceForge. The author discovered copies of the source code on the computer of a late friend of his. This resurrected version of the source code, however, was probably not the latest version (some features which work in the released binary no longer did) and had to be updated to compile with newer development environments. The ninth and last update to its SVN repository was made on October 8, 2010. It targets a DirectX 9 surface whilst sitll accelerating through OpenGL and adds support for widescreen monitors.
2020 unofficial updates
In April 2020, precisely ten years after glDoom resurfaced on SourceForge, unofficial updates to the latest glDoom code appeared, created by a programmer called Vsevolod Popov, aka RedPowar. He released 0.95b on April 4, and 0.95c on April 8, 2020. They contain several improvements to the port:
- New floor/ceiling generation code (derived from Doom Legacy)
- Aspect ratio fix (correct rendering on 16:9 displays). glDoom can now render for example in 1920x1080p resolution properly
- Fixed invisible area culling (behind walls in sectors without ceiling)
- Few bugfixes for buffer overflows & invalid memory pointers
Features
- All features from WinDoom
- High resolution support (Default 640x480, but resolution can be defined)
- OpenGL 1.0/1.1 based renderer
- Bilinear filtering
- Texture smoothing
- Transparency and translucency from objects
- Dynamic lighting from projects, weapon discharge and explosions (cvar controlled)
- Player lighting from power-ups (cvar controlled)
- Selected weapon display in deathmatch (over the player's head - also cvar controlled)
- Aiming crosshairs (only in conjunction with looking up and down)
System Requirements
The absolute minimum system configuration to run glDoom is a 133Mhz Pentium with 16Mb of RAM and an 3D accelerator card with OpenGL drivers. The program will run on a system like this but is far too slow to be enjoyable. The recommended system configuration to run glDoom is a 166Mhz or higher Pentium with 64Mb of RAM, a 3D accelerator card with native OpenGL drivers (not a Direct3D wrapper), a mouse and a sound card with wave table Midi support.
The 2010 release relies on DirectX9 to work with.
Supported cards
Note: This is for the latest 1998 release, 0.94e.
3Dfx Voodoo II - tested 3Dfx Voodoo - tested 3Dfx Rush - tested 3Dfx Banshee - tested Rendition V2100 - tested Rendition V2200 - tested nVidia Riva 128 - tested nVidia Riva TNT - tested PowerVR PCX2 - drivers not finished Permedia II - tested (monochrome lighting only) Glint 500 - tested Glint GMX - tested Intergraph Realizm - tested Intergraph Realizm II - tested Evans & Sutherland - tested ATI Rage Pro - tested (incomplete) Intel i740 (Real3D) - tested nVidia Riva TNT - tested S3 Savage 3D - (being tested by S3) Matrox G200 - tested
External links
- Official site
- SourceForge page
- glDoom home page (archived 🏛)
- glDoom development notes (archived 🏛)
- glDoom v0.95c binary and source code, hosted by GitHub
- glDoom v0.95b binary and source code, hosted by GitHub
- glDoom v0.95a binary and source code], hosted by SourceForge
- A copy of glDoom v0.92 (archived 🏛) (the page is in Russian)
- Download glDoom v0.94e at Doomworld
- GLDoom interview with Bruce A. Lewis, hosted at Quake2.com
- [GLDoom review], hosted by DoomWorld
- (In Russian) Thread about unofficial releases, hosted by Old-Games.ru
Source code genealogy | ||
---|---|---|
Based on WinDoom |
glDoom | Discontinued |