Skip to content
0:00 / 0:00

#wolfenstein3d#raycasting#x86assembly

Wolfenstein 3D's map renderer

Matt Godbolt

22K subscribers • 1 video on Hallway

YouTube
  • Recommended by 4 people: 1 on Lobsters and 3 in engineering communities.
  • A classic. People kept recommending it from 2018 to 2021.
  • Presented by Matt Godbolt, creator of Compiler Explorer
  • Linked in the descriptionid-Software/wolf3dmattgodbolt/wolf-doom-quake

Intermediate. Assumes working knowledge.

292K views8 years ago4 recommendations

Graphics and audioHistory and cultureRenderingRetro computingPerformance and optimization

Matt Godbolt analyzes the source code and engineering tricks behind the 2D raycasting map renderer of Wolfenstein 3D.

Wolfenstein 3D was a triumph of early 90s engineering. It was an action packed 3d first person shooter - arguably the first - and it ran well on a 12 MHz 286 PC. How on earth was such a feat pulled off? Find out by watching this in-depth analysis of how the map renderer worked. Apologies for the small size of the graphics: this was an early video of mine and my later presentations look better! The Wolfenstein 3D source is available at: github.com/id-Software/wolf3d Source for this presentation: : github.com/mattgodbolt/wolf-doom-quake

Why it's here

4 people recommend this

What people say. Recommended as an excellent technical explanation of the Wolfenstein 3D raycasting engine and retro graphics programming.

u/96fpsin r/programming • Recommends

On “Wolfenstein's original rendering engine as 450 line shader with no external data”

Another good technical exploration, in video form: link to this video

jakobon Lobsters • Recommends

Wolfenstein 3D's map renderer

u/nfgrepin r/GraphicsProgramming • Recommends

On “How to start implementing rendering algorithms/techniques?”

I found that the traditional route of OpenGL/ShaderToy/learnopengl/etc... was overwhelming as a newcomer to gfx. I was finally able to break into graphics stuff after trying to implement a '2D' raycaster similar to the one in Wolfenstein3D. There are some Excellent videos on this raycaster. If you don't want to get nitty gritty, interacting with Unity's shader system appears to be relatively painless (Especially in comparison to Unreal). There are also many Excellent videos exemplifying what you can do

u/ThatMakesMeM0istin r/GraphicsProgramming • Recommends

On “Do I need to be an expert on x86 Assembly to understand Michael Abrash's Graphics Programming Black Book?”

You might be interested in this video by Matt Godbolt