Games like Super Mario 64 were revolutionary: full, round, hi-definition 3D models moving in real-time and able to be interacted with. This was because they were designed for machines with separate graphics processors. These GPUs would handle anything from overlaying images to rendering 3D models, even processing sound in some machines.

However, many great 3D games were created for machines without GPUs.[citation needed] What techniques were used to create 3D effects without a GPU?

  • I had some examples, such as Doom, but I wasn't sure whether the machines they ran on actually had GPUs, and whether they were used. – wizzwizz4 Feb 12 '17 at 21:11
  • 3
    I agree this is way too broad, there are many different techniques to draw 3D without a GPU (including not-quite 3D, e.g. with Doom's sprites and 2.5D rooms). Even once GPUs became available on PCs, many GPU-assisted PC games were capable of rendering their own 3D effects without using a GPU at all ("software" rendering: e.g. Quake, Unreal, Unreal Tournament, even Half-Life). Anything you can do on a GPU, you can also do on a CPU, it might just take longer. – Stephen Kitt Feb 12 '17 at 22:26
  • 1
    And in particularly "what kind of techniques were used to make 3D fast enough" really depends on the available hardware and the game. Elite on the Apple II used different techniques than Doom on the PC. – dirkt Feb 13 '17 at 7:12
  • 1
    There were a bunch of 3d games even on the 8 bits and there is not a single technique to make them. CPU or GPU, the maths in play are the same, but shortcuts and tricks are different for each game, even on modern systems. – Thomas Feb 13 '17 at 23:32
  • 1
    Agree with Stephen Kitt; what had been happening before the advent of the GPU era was called software rasterizing. I did a bit of that in my college years as demomaking / demoscene was one of my biggest hobbies those days. Basically, the code that is now being put in vertex and pixel shaders and is executed on the GPU, was then written in C++ or even assembly, and that code was doing all the calculations on the CPU and manipulated pixels in the video card's RAM. – DmytroL Feb 19 '17 at 10:41

Browse other questions tagged or ask your own question.