// the find
jdah/doomenstein-3d
Wolfenstein/DOOM style software renderers
Two self-contained C files implementing software renderers from scratch — one raycaster in the Wolfenstein 3D style, one BSP/sector-based renderer in the DOOM style. This is educational code: the kind you read to understand how these engines actually work, not something you'd build a game on.
The two-file structure (one file per renderer) makes it genuinely readable — you can trace the entire rendering pipeline without jumping around a codebase. Using SDL as the only dependency keeps the build trivially simple. The DOOM-style sector renderer is the rarer and more interesting of the two; most tutorials stop at raycasting. The level format is a plain text file, which makes it easy to experiment with geometry.
Abandoned since March 2023 with no issues addressed and no documentation beyond a single screenshot and four lines of README — if something doesn't build on your platform, you're on your own. There's no explanation of the algorithms: no comments pointing to the relevant DOOM source code chapters or Fabien Sanglard's writeups, so a reader without prior context will struggle to follow the sector renderer. No sprite rendering, no floor/ceiling textures in the DOOM renderer, no collision — it's a proof-of-concept frame, not a usable engine. SDL is pulled in as a git submodule pointing to the full SDL repo, which makes the initial clone heavier than it needs to be.