VoxelBox
20 years ago this fall I retired from graphics hardware development. After we closed the doors at Stardent, John and I looked around and decided that the future of computer graphics was on the PC. Everyone thought that was a bit daft at the time. Windows 3.0 had just come out. That was the first version that was really usable. It really wasn’t much of a development platform until 3.1 came out the following year. Even then, it wasn’t much of a platform for computer graphics until the 16bpp, true-color graphics cards appeared.
But John and I just thought it looked like the writing was on the wall for the big workstations. So we rented a tiny office on the 2nd floor in Winchester, bought two 486 machines and started writing code. What we came up with was a volume renderer we named VoxelBox.
The user manual looked like this:
It had a pretty amazing set of features when you consider the limitations of the hardware and operating system we were using. As you can see from that picture, it was a raytracer with shadows and reflections. The performance was surprisingly good in most cases because it was loaded with optimizations like skipping through constant regions at coarser resolutions. It also used progressive refinement. This means that you got a low-res picture very quickly, but if you waited the picture got better and better. This meant that you could rotate it around interactively and get the view you wanted, and then let it sit and do a high-res image with subpixel antialiasing.
This user interface looks pretty dated today, but there was a lot of neat stuff hiding in there too. Look at this dialog for modifying the transfer function.
It’s showing you the histogram and individual slices. It’s letting you selectively edit individual channels. It even has handy tools like smoothing functions. The nicest touch was something John came up with which later became known as a “pre-integrated transfer function”. This made a big difference in the image quality when the transfer function had a high frequency blips in it.
In addition to generating images, it could also create animations. You did that be setting up each of the views you wanted as a keyframe, and then using this timeline editor to fine tune things. Generating a long animation could take quite a while if you turned on all of the bells and whistles, but you could get a quick preview before you let it rip.
We had an awful lot of fun in those years, and boy did we learn a lot. The two of us did everything. In addition to writing the software, we wrote that manual, got the 4-color separations made and contracted with a printer, placed the ads with magazines, and answered the phone.
The company we created only lasted a couple of years as we went on to do other things, but VoxelBox lived on at a series of other companies. For many years, it was called T3D. I don’t think that’s as nice a name as VoxelBox. but it made it a better fit in the other companies’ product lines.