I am a Fellow at Adobe, where I conduct research and
develop software for processing digital photographs. My primary
interests are image processing, real-time rendering algorithms, and
graphics architecture. Current projects include Camera
Raw, Lightroom,
and DNG.
Recent articles:
I enjoy photography and often spend my free time
peering through lenses and tinkering with printers.
Early in 2007, I purchased an Epson Stylus Pro 3800 and later the
3880, both of which are fantastic. Several years later my 3880 is still
running as well as ever. I have put together some notes and a FAQ for
the 3800 and 3880:
Here are some additional notes on Epson printer calibration and some
general notes on profile making:
I have written a Mac software utility to fix defective pixels
(including columns/rows) in raw images captured with CCD sensors:
Before joining Adobe, I was a Visiting Scientist at Mitsubishi Electric Research
Laboratories, where I worked with Ron Perry on
the Saffron
Type System. Saffron has been licensed to Adobe and is shipping in
several Flash-based products, including the Flash Player. If you've
ever visited a web site that uses Flash, chances are you've seen
Saffron in action!
In Spring 2007, I co-taught CSCI E-234
Introduction to Computer Graphics and GPU Programming with Hanspeter
Pfister at the Harvard Extension School. I also helped teach this
course in Fall 2005. It's part of the Extension School's Distance
Education program; we had students from all over North America
taking the class.
In the summer of 2005, I worked in the hardware verification group at
ATI Research (now AMD), where I designed and implemented a randomized
testing infrastructure for the R600 desktop chip (Radeon X2xxx
series).
Frédo Durand and I
developed a method for rendering fake soft
shadows and a hybrid
algorithm that combines shadow maps and shadow volumes.
In August 2004 I taught in a
SIGGRAPH course on real-time shadowing techniques. My
presentation slides (on shadow
silhouette maps and on the
smoothie algorithm) are online.
Frédo and I also wrote a book chapter for GPU
Gems 2; this chapter describes a technique for rendering
prefiltered lines efficiently on graphics hardware. An earlier
version of this article is available
online.
Before coming to MIT, I worked in the Stanford Computer Graphics Lab
under the supervision of Pat Hanrahan and Bill Mark. We extended
the Real-Time
Shading Language and wrote compiler back ends for the ATI R300 and
NVIDIA NV30 architectures. We also developed a pass-decomposition algorithm to virtualize
graphics hardware resources.
Links: S.M. thesis,
papers,
online articles, and
SIGGRAPH course talks
|