basement culture

  although I possessed a degree in computer science from my extramural study, massey's computer department was rather focused on business computing - and away from the really interesting areas. while I wasn't sure what I wanted to do at otago, the department made it clear that I would have to fill out my background first.

  artificial intelligence and computer graphics were the most appealing research areas to me. so I moved down to dunedin, found a place to stay and enrolled in a scattering of computer and general science courses.

  the computer science department relies somewhat on its communal computer labs creating an atmosphere where students can work on their assignments and share technical knowledge. it's almost like a big playground with lots of wholesome geek toys to play with. every year, there is usually one central focus that many of the students will latch onto.

  in our year, it was marathon.

  now, I don't mean to imply that we did no work. we worked very hard that year! but we also played hard. more than anything, the atmosphere in the lab environment made me decide to come back and start postgraduate study in computer science.

the graphics underground

  the new zealand tertiary system provides for a postgraduate diploma in science, which is effectively the final year of an honours degree as a standalone unit. in 1996 I enrolled in cosc 452: expert systems, cosc 453: computer vision, cosc 455: computer graphics, cosc 461: object-oriented design, cosc 477: advanced marathon and cosc 490: research topic.

  fortunately, little survives of my work that year except some pretty pictures that I built using our in-house ray tracer katachi (more on that later). although, I did find the archives of my research project and managed to salvage some truly hideous code. this C program is a 4,000-line pile of spaghetti that simulates a two-camera stereo vision system and applies various 3D reconstruction transformations to synthetic or real data. it's pretty ugly. the disturbing thing is that this is after I went through and tidied up the code.

a shimmering on the horizon

  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 v1.0.6.2 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. [...]

updated 02.21.18
© chris butcher 2000-2003