A Modular Rendering System For ioquake3 Engine

Posted by Michael Larabel on August 03, 2011

The ioquake3 game engine, the open-source project built around id Software's Quake 3 engine release and is used by a number of multi-platform games, has its rendering system now modularized.

The ioquake3 project has long had asspirations to move to a modular rendering system (see this Wiki page from last uear) in order to modernize this Quake 3 engine adaptation while maintaining compatibility with original Quake 3 content. In particular, developers are interested in modernizing the graphics and content capabilities.

The ioquake3 engine currently uses OpenGL 1/2 rendering, but not OpenGL 3.x, and due to the renderer's design it's not able to offload all duties to the GPU. Making ioquake3 renderers swappable would allow those with modern hardware to take advantage of a modern renderer that can take advantage of modern graphics processor capabilities while still maintaining compatibility with the rest of the engine. For those with vintage hardware, the traditional renderer still can be used. Modularizing the renderer is also good for the mobile front with bringing ioquake3 to mobile devices via OpenGL ES.

As part of the modular design, it's also been sought after to make ioquake3 support more modern model/animation formats, but again, not to lose any old support.

Within the Wiki are also numerous mentions of the XreaL project and possibly integrating some of their engine advancements into ioquake3.

The news today though is not that all of this work is now completed and ioquake3 is on par with modern renderers, but just that the graphics renderer has been modularized.

Committed to the ioquake3 SVN via rev 2112 (and rev 2113) is the modular rendering system now in mainline. This modular rendering system has been in development since last November and can be found via this BugZilla entry for its history. There isn't any other renderers available at this time, but the support is now there to plug them in.

There may be an OpenGL 3.x renderer ready soon, as merging this patch was talked about since last February when a developer was originally working on replacing ioquake3's old OpenGL calls with that of OpenGL 2.1 + extensions, but then decided it's easier to just target OpenGL 3.0 instead.

Quakecon, the annual id Software LAN party and gaming event, is starting tomorrow in Texas and will be going through the 7th of August. It's possible that this week there may be the release of the Quake 4 / id Tech 4 engine source-code just as id Software has done in the past.

Id Tech 4 is seven-year-old technology now and id Software is prepping id Tech 5. John Carmack previously said id Tech 4 code would be opened upon the release of Rage, which is coming up shortly. This week we may have that code or at least some other interesting announcements out of the company. Compared to id Tech 3, the id Tech 4 engine is largely rewritten in C++ and offers noticeably better graphics capabilities.

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. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Hot Relocation HDD To SSD Support For Btrfs
  2. Phoronix Test Suite 4.6.0 "Utsira" Released
  3. New Intel X.Org Driver Supports All Of Haswell
  4. SQLite Now Faster With Memory Mapped I/O
  5. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  6. Qt For Tizen Launches, Based On Qt 5.1
  7. KTAP Released For Linux Kernel Dynamic Tracing
  8. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  9. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  10. Handbrake 0.9.9 Supports OpenCL Offloading
  11. Freedreno Gallium3D Now Banging The Adreno A3XX
Latest Forum Talk
  1. Jolla Announces Their First Phone
  2. DragonFly 3.4 vs FreeBSD 9.1 on phoronix test...
  3. The Cost Of Ubuntu Disk Encryption
  4. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  5. Will Unreal Engine 4 Games Come To Linux?
  6. New Intel X.Org Driver Supports All Of Haswell
  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