Skip to content

Portfolio

Some information on projects I’ve undertaken, both commercial and for fun.

Luminova

Luminova is an Australian “visual technology” company now owned by Mental Images. My work at Luminova focused on research on rendering and image analysis. I applied some of this research in the development of two commercially successful products as well as leading a blue-sky research group.

PaintExplorer
I developed the PaintExplorer library as a new tool for paint companies to distribute to their customers. It allows any user to load a photo of a room and then repaint surfaces to visualise the end result. The industry standard is little more than vector-based drawing tools. PaintExplorer employs semi-automatic image segmentation, feature detection other image processing to reduce user input to two or three clicks and produce photorealistic results. It has since been distributed by Dulux.

LIBAT
Our customers had a requirement for rapid modelling of built-up areas based on a single satellite image, accurately capturing the heights of structures. I led development of the LIBAT tool to enable our modelling team to achieve this. It allows smooth navigation of multi-gigabyte HDR images using streaming techniques, as well as interactive 3D modelling directly upon the image, with texture extraction and real-time lighting of the results. Contracts were fulfilled using this tool, which has since been developed further.

Computer Labs, University of Cambridge

Raytracing
My final year dissertation was an ambitious extension to the ray-tracing process. Raytracing has hardly changed since its conception due to its limitations in global illumination, and has instead been hybridised or replaced with methods such as radiosity and photon-mapping. I researched a novel extension allowing inexpensive diffuse and specular inter-reflections using “surface caching”, which has since been mentioned in lectures (I believe positively!)

LIMALOGO
A LOGO interpreter written in Java, written for my undergraduate group project and awarded first prize for the year. I designed the execution engine and lead the programming effort. Surprisingly fast, multithreaded, and supporting higher-order functions, it could crunch thousands of prime numbers whilst drawing fractals.