This was a hobby project of mine. I was always very critical of the lighting in most of my games/applications, so I decided that we needed something to generate lightmaps and such.
I decided to start working with the ambient occlusion term, since I could bake that into textures or vertex (and at the time, screen-space ambient occlusion was still a bit new and for high-end machines, and our target for most products was low-end machines).
This was a multi-threaded ambient occlusion generator, which could generate an AO solution in some seconds or minutes, depending on the texture quality.
It worked by doing raycasting in an octree, all in software.
It was programmed in C++ by me.