Eric Chan
Eric Chan

Photographs   |   Blog   |   Cats
I am a Senior Principal Scientist 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.

I enjoy photography and often spend my free time peering through lenses and tinkering with printers. I try to post a photo each day but occasionally forget.

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