finds.dev← search

// the find

jdah/doomenstein-3d

★ 1,055 · C · MIT · updated Mar 2023

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →