in december, I took up a research bursary in the graphics research lab where I worked for ten weeks over the summer. my task was to take the existing ray tracer katachi and write a new system to replace it. katachi was first created in 1985 by geoff wyvill while on sabattical to the university of tokyo. originally conceived as a research testbed, katachi was subsequently used to produce commercial-quality ray traced animations for advertising. it is still in use today at animation research limited, a dunedin-based graphics company famous for (among other things) their america's cup graphics.
don't get me wrong, katachi is a wonderful system. but because animation research limited split off their version in 1992 from the one that was available at the graphics lab, the lab version stagnated for several years. a succession of research students who didn't really understand the code worked on it, and by late 1996 a serious amount of black magic was required to even begin using it. obviously not an ideal situation, considering that it was being used as a teaching tool. geoff wanted a new version, one that was cleaner and more elegant and built on the knowledge gained since katachi was first designed. that's where I came in.
over the course of my summer bursary, I designed and implemented a ray-tracing system that I called mirage. more details can be found at the university's mirage site, but essentially mirage is very similar to katachi. both are ray tracers where models are built from algebraically defined primitive surfaces by writing C/C++ programs that combine surfaces using constructive solid geometry. using procedural modelling and texturing techniques, many complex objects and scenes can be created. a gallery of some images created using mirage may be found here.
mirage is still available freely under the gnu general public license. it is a powerful ray tracer capable of producing some beautiful images with a little work; you may download mirage v18.104.22.168 for windows, macintosh or unix.
working in the graphics lab over summer hooked me. the whole idea of doing further research in computer graphics sounded like a lot of fun, so I decided to sign up for a while longer. [...]