Repository navigation
v0.1.2 — Classic software appearance, faster GPU shaders
GD-DOOM now uses faster GPU shaders in both Faithful and Source Port modes while preserving Doom's classic software-rendered appearance. The CPU retains the renderer's visibility, projection, clipping, and lighting decisions; shaders draw the resulting columns, spans, sprite cutouts, and sky.
- Enable GPU rendering by default in Faithful mode with indexed 256-color PLAYPAL/COLORMAP lookups, active gamma, exact CPU sky coordinates, and classic low-detail column doubling.
- Compress repeated wall columns and sprite rows into compact draw commands, and halve texture metadata fetches with packed coordinates and dimensions.
- Reduce close-up sprite stalls by reusing horizontal visibility spans until wall or portal clipping changes, including sprite plane occluders.
- Correct overlapping texture-row sampling in the software sprite magnification path. Faithful software sprites, sky, and fullbright teleport effects now consistently use their palette and gamma rules.
- Expand the README, rendering guide, browser landing page, visual comparisons, and reproducible benchmarks around the software-rendered appearance and GPU optimizations.
Validation: the full Go test suite passes. Real shader framebuffer checks pass on Doom E1M1/E1M5 and Doom II MAP11/MAP26, including melee-range views, gamma, invulnerability, and Faithful high/low detail. Palette checks cover all 256 indices through 33 non-linear COLORMAP rows at three gamma settings and verify Faithful world pixels remain in the active palette. The largest observed Faithful difference from software was 0.300% of pixels differing by more than two color levels in the tested scenes. Native and WASM builds pass.
GPU drawing is enabled by default on desktop and in the browser. Use -gpu-renderer=false for the CPU software renderer; unsupported texture banks also fall back automatically. Small texel-boundary rounding differences remain, and GPU spectre fuzz approximates the original effect using a background snapshot.
Downloads include Linux x86_64, Windows x86_64, macOS Intel, macOS Apple Silicon, and the deployable WASM browser build. Desktop packages include the shareware DOOM1.WAD, General MIDI SoundFont, README, and license notices. See renderer checks and benchmarks for detailed results; synthetic CPU timings are not whole-game FPS.