What type of 3D engine is the original ID Software Quake engine (1996)? What is the correct terminology? Is there a particular simple term that describes this type of engine? E.g. the original Wolfenstein 3D engine is I believe a raycaster, what is the Quake engine?

Articles such as http://en.wikipedia.org/wiki/Quake_engine describe how it works, but do not seem to put it into a particular category.

I'm interested in the correct name for both the software and the hardware accelerated version of Quake.

  • 2
    \$\begingroup\$ I believe you'd call it a rasterizer. This is an approach that A LOT of engines today use. GPUs have been designed to support this method of rendering more than any other. \$\endgroup\$ – Ben Apr 26 '15 at 4:24
  • 1
    \$\begingroup\$ Are you talking about the software or GL version? Because even aside from the obvious (software vs GL) they were quite different - the software version was a "scanline rasterizer" whereas the GL version was a "polygon rasterizer". \$\endgroup\$ – Maximus Minimus Apr 26 '15 at 12:11
  • \$\begingroup\$ I'm interested in the correct name for both versions. I've edited the question to reflect this. \$\endgroup\$ – AttributedTensorField Apr 26 '15 at 18:17
  • \$\begingroup\$ the original quake engine also has the distinction of being one of the first BSP engines, IIRC \$\endgroup\$ – mklingen Apr 26 '15 at 18:45
  • \$\begingroup\$ The Doom engine also uses BSP and is from 1993, however it is a different type of engine. \$\endgroup\$ – AttributedTensorField Apr 28 '15 at 20:21

There isn't a single term for it (other than "Quake-like" or similar), because rendering engines can differ or not in a variety of ways.

That said, the Quake rendering engine does has several identifying features:

  • it's a true 3D engine, in that it could render actual 3D geometry and not the sort of extruded and offset 2D maps of some of its predecessors.

  • it is a brush engine, in that it uses oriented convex 3D geometry to define interior spaces of the game world.

  • it is a BSP engine, because after pre-processing the brushes that define a map, a BSP tree is built for dealing with polygon visibility.

  • it used scanline rasterization, as noted in the comments, to produce the final scene image.

...and so on. There are several other ways in which you could classify the engine (such as how it rendered the environment front-to-back but still wrote to a depth buffer for handling the rendering of mobile objects, like characters). But you can already see how calling it a "true-3D-brush-and-BSP-using-scanline-rasterization-engine" starts to get a little cumbersome. So we just call it a "Quake" engine.

You can see examples of how the same basic engine can still handle some things quite differently in exploring how the old Thief games rendered the world.

And of course, if you really want the nitty gritty details of Quake's engine, you can peruse Michael Abrash's extremely in-depth tome on the matter.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.