D3DQuake
An existing game or its source code brought to another platform.
Based on Quake
Original game imageAbout
Quake is id Software's first-person shooter, whose GLQuake variant (based on the Quake 1.09 engine) this project modifies. D3DQuake is a graphics-backend port of id Software's GLQuake that replaces its roughly 50 OpenGL calls with Direct3D 7.0 equivalents, contained mostly in a single file (gl_fakegl.cpp) plus a small number of #ifdef'd changes to the main GLQuake sources. It targets Windows and requires a DirectX 7-capable video card with at least 8MB of video RAM; it was primarily tested on Windows 2000 with NVIDIA TNT2 and GeForce 256 cards.
How it differs from the original
The author reports D3DQuake generally runs slower than GLQuake — from around 36% of GLQuake's frame rate in the earliest version up to about 74-95% in later, more optimized builds — due to overhead in the OpenGL-to-Direct3D translation layer. Known bugs include incorrect lighting in fullscreen or 16-bit-per-pixel desktop modes, and it does not check hardware capability bits.
Getting started
Compile by opening the WinQuake project in Visual Studio 6.0 or later and selecting the "Win32 D3D Release" or "Win32 D3D Debug" configuration; the resulting executable is used the same way as the original GLQuake.exe, dropped into a Quake 1.06 shareware or full installation.
History
The author, who worked at WebTV (then a Microsoft subsidiary), wrote D3DQuake to learn about Quake and Direct3D, and notes it is unrelated to an earlier, unofficial 1996 Direct3D Quake port written by a Microsoft summer intern.
Known issues & limitations
- compatibility: Does not check capability bits; requires DirectX 7 drivers and 8 MB of video RAM.
- graphics: When run fullscreen or with 16-bit-per-pixel desktop, some levels have bad lighting.
- performance: Performance is approximately 50-74% of GLQuake depending on version and system.
- platform: Voodoo3 cards experience texture corruption after running for a while; Matrox G400 has mixed reports of crashes.
- Some levels have bad lighting when running full screen or with a 16-bit-per-pixel desktop.
- On Voodoo3, the game runs for a while, but textures then become messed up.
- Some users have reported startup crashes on G400 cards.
- The project does not check caps bits.
- Performance is not very good; on a GeForce card it is about half the speed of GLQuake.
What you need to run it
How to install
- Download the D3DQuake program, which replaces GLQuake.EXE.
Summarised from the project's README.
Additional notes
- Trivia
- The author found OpenGL's API cleaner and easier to use than Direct3D 7.0 for this project, and believed matching OpenGL's performance would require restructuring much of Quake's OpenGL-optimized data structures.
FAQ
- What is D3DQuake?
- D3DQuake is an open-source port of Quake. An existing game or its source code brought to another platform. The original game ran on Windows.
- Do I need the original game files to run D3DQuake?
- Yes. The project does not include the original game's assets, so you need your own copy. This is a Direct3D port of GLQuake requiring Quake game data (shareware version 1.06 was provided).
- Will D3DQuake work on any video card that supports Direct3D?
- No. The card needs DirectX 7 drivers and 8 MB of RAM.





