What's Going On In The Open-Source Doom 3 World

Posted by Michael Larabel on December 05, 2011

It's only been a few weeks since id Software released the Doom 3 source-code (id Tech 4 engine) and the ioDoom 3 project was established, but there's already some interesting work going on for this newly opened GPL game engine.

The ioDoom 3 project was quickly created after id Software published the game's source-code. This project is backed by the same developers responsible for the ioquake3 engine, as the successful open-source community project built around the Quake 3 (id Tech 3) release. Ryan "Icculus" Gordon -- whom already has experience with id Tech 4 after having ported Prey and other titles to Linux -- and others are helping out with ioDoom 3. This will likely be the de facto open-source version of id Tech 4 moving forward.

Some of the work going on right now within the ioDoom3 world is listed below.

- Ryan Gordon is personally working on porting Doom 3 to use SDL. More recent titles from id Software have used Simple DirectMedia Layer, but the Doom 3 client did not use this cross-platform open-source library. (See this mailing list message.)

- FreeBSD support for Doom 3. The Doom 3 game can already run under Linux when using the FreeBSD Linux binary compatibility later, but an effort is already under-way to provide native FreeBSD support for Doom 3 / id Tech 4. (There's patches on the BugZilla.)

- CMake build support. Ryan Gordon is also working on making ioDoom3 use cmake as its build system. (He has it currently in a Git repository.)

- Proper 64-bit support.

- Proper installers for ioDoom3 on at least Linux, Mac OS X, and Windows.

- Wide-screen resolution support. Doom 3 uses a static lists of resolutions, but with the move to SDL and other changes, it should be dynamically built based upon your driver/monitor/GPU.

- Various bug and warning fixes. See the BugZilla patch list.

While it doesn't fall directly within the ioDoom3 project right now, there's also been work on improving the Doom 3 shaders. See this blog posting for the interesting work taking place. "
So, pretty much everything that was in the vertex shader has now moved over to the fragment shader, normalization is done using math instead of the cubemap, some internal 0..1 clamping has been removed, the specular exponent has moved to math too, and the normal map has been renormalized after doing the texture lookup. The end result is quite surprising, and looks somewhat different to the way the original game looked."

While reworking the Doom 3 shaders offers up some noticeable visual improvements, the graphics rendering requirements are also obviously raised. "So the end result? The quality improvement is nothing short of astonishing. The original looked pretty grungy in places, but everything just smooths out now and looks really clean and solid. The bump mapping is particularly appealing, but specular highlights also tighten up and gain clarity and definition."

There's an issue though and that's the Doom 3 interaction shaders being considered game content, which id Software didn't put out under the GNU GPL. Here's some screenshots showing the new shader improvements.

More information on the open-source Doom 3 efforts can be found at ioDoom3.org. There's also a recent article covering the Linux graphics driver and hardware requirements of Doom 3.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. NetBSD 6.1 Brings In More Features
  3. Using Six Monitors With AMD's Open-Source Linux Driver
  4. Benchmarking The Intel P-State, CPUfreq Changes
  5. FreeBSD Still Working On Next-Gen Package Manager
  6. DNF Still Advancing As Experimental Yum For Fedora
  7. Logitech Begins Supporting Linux Users
  8. Modern Intel Gallium3D Driver Still Being Toyed With
  9. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  10. GCC 4.8.1 Compiler Due To Be Out Next Week
  11. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
Latest Forum Talk
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. Sumo Lounge Emperor
  3. BHyVe: A New Hypervisor Coming To FreeBSD 10.0
  4. Benchmarking The Intel P-State, CPUfreq Changes
  5. DRM Moves Ahead With HTML5 Specification
  6. Using Six Monitors With AMD's Open-Source Linux...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite