They are *not* “fully 3D” in full traditional sense.
Doom uses Binary Space Partitioning to render the walls – whole map is divided into 2D sectors (made of vectors), similar to architectural and technical drawings – you can scale up and down, but distance between points stays proportional.
You can think of it like so: you draw a rectangle on paper. To draw one, you need to know it’s four corners. That’s what Doom calculates.
Now, you come a step closer, and draw another rectangle, maybe overlapping old one a bit. And so on. It’s all about what player can see, not really the 3D world. A bit like how raytracing works. And so forth. of course, it’ll also scale the textures to match the walls. And that’s how it works, basically. Drawing polygons and rectangles in such fashion is a bit different than modern 3D – that uses world-space and screen-space rendering (what the world is / what screen shows).
Now, drawing enemies and items in such fashion would make very little sense. Also, hardware acceleration didn’t really exist back then. Video cards were good at drawing 2D shapes, but not doing vector/matrix calculations needed for 3D. And speaking of sprites, compared to 2D games of the day – Doom had quite simple sprites and animations. Most enemies have like only few frames of animation for each interaction. So Id Software wasn’t really focused on that aspect.
Latest Answers