Remix.run Logo
▲ adverbly 4 hours ago

Is software rendering the reason that people can run doom on everything?

▲phkahler 4 hours ago | parent | next [-]

Yes

▲qingcharles 2 hours ago | parent | prev | next [-]

Yes, although Doom isn't categorized as a real 3D engine as such.

▲odo1242 2 hours ago | parent [-]

What is Doom if it isn’t a real 3D engine? Is it faking it somehow?

▲deathanatos an hour ago | parent | next [-]

It's like 2.5D, maybe like 2.75D or so. Technically, every map in vanilla Doom is a 2D map, with various "sectors" in the map having height; they're rendered in a sort of pseudo 3D, but crucially the map will never have one floor about another¹. I don't think I'd argue the 2D maps technically make it "not 3D", though.

However, Doom also renders textures using an algorithm that sort of paints walls as like vertical lines of sorts. The exact algorithm it uses makes it hard to look up (to pitch), and I think impossible to roll the camera. See <https://en.wikipedia.org/wiki/Doom_engine#Rendering> — it has a good animated graphic of what happens if you do look up, and the differences between the output of Doom's software renderer's algorithm and something actually rendering 3D.

¹modern ports have ways to accomplish this, and even before there were direct ways of doing it, clever map layout and instantaneous teleporting can get pretty close.

▲bityard an hour ago | parent | prev | next [-]

It's considered 2.5D: https://web.archive.org/web/20030616094237/https://www.phoen...

▲krapp 2 hours ago | parent | prev [-]

Modern Doom games are real 3D, but the original was using an advanced form of raycasting[0].

[0]https://doomwiki.org/wiki/Doom_rendering_engine

▲dmpk2k 3 hours ago | parent | prev [-]

A few years ago I seriously contemplated making a game using software rendering, in part because the only target was SDL. I actually got a 3D engine running 2K@60Hz with HL2-level scenes, with the CPU basically idle, so it's not a terrible idea.

(Then LLMs started taking off and I decided I needed to reskill out of the industry, just in case)