While trying to work out how to do simple 3D graphics using software rendering (as opposed to handing all the fun stuff over to an API like OpenGL), I came across an old article that was published in Dr. Dobb's Journal.
Although certifiably antique, the code did compile on VS 2005 and is a fair representation of what is required to do simple 3D graphics.
I've had a go at improving the interface slightly, introducing double buffering and mouse-based rotation. But I'm not an authority on 3D projection.
Would anyone mind having a look at the attached and trying to further improve it? I think that this remains a useful article and should not be lost to the mists of time.