Eric P.F. Lafortune

Welcome to my home page. It provides some information about me and my projects.


Dec 2011 - now CTO,
GuardSquare, Leuven, Belgium
Jun 1999 - Nov 2011 Project leader,
Luciad, Leuven, Belgium
Apr 1996 - May 1999 Postdoctoral research associate,
Program of Computer Graphics, Cornell University, Ithaca, NY
Aug 1991 - Feb 1996 PhD in computer science,
Computer Graphics Research Group, Department of Computer Science,
Faculty of Engineering, Katholieke Universiteit Leuven, Belgium
Sep 1986 - Jul 1991 Master's degree in engineering, computer science,
Faculty of Engineering, Katholieke Universiteit Leuven, Belgium


I am the co-founder and CTO of GuardSquare. We develop software to optimize mobile apps and protect them against reverse engineering and tampering. Thanks to the solid history of our open-source project ProGuard, we are now global leaders in this field.


My research in computer graphics focused on Monte Carlo algorithms for global illumination computations. The goal of these algorithms is to create photo-realistic images that are also physically correct. During my PhD research, I've introduced bidirectional path tracing, which is a generalization of traditional path tracing. It is fully explained in my PhD dissertation
"Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering"

At Cornell, I got involved in the measurement and representation of light reflectance functions. These functions describe how surfaces reflect light: diffusely, glossy, mirror-like, etc. They are basic building blocks for global illumination algorithms.

The light measurement lab offered an excellent place to perform reflectance measurements using specular and diffuse reflectometers, and using a custom-built gonioreflectometer. You can still find some of my measurements at the measurement page.

The measurement data are quite bulky. I've introduced a new representation for light reflectance functions that is compact and particularly suited for global illumination computations. I've presented this work at Siggraph '97, in the paper

"Non-Linear Approximation of Reflectance Functions"

You can find a complete list of my papers on my publications page.

Software projects

ProGuard A successful free shrinker, optimizer, obfuscator, and preverifier for Java bytecode.
DexGuard The commercial sibling of ProGuard, for optimizing and protecting Android apps.
Rock Runner 2 (1996) An unpublished isometric game for the Acorn Archimedes. It was written in ARM assembler and featured ray-traced tiles.
Rock Runner (1985) An 8-way scrolling game for the TI-99/4A, heavily inspired by Boulder Dash. It was written in TMS-9900 assembler. The code fitted in 4K of memory.

Other hobbies

Windsurfing On Tenerife (El medano), Fuerte Ventura (Sotavento), the Red Sea (Ras Sudr, Safaga, Hurghada), Cayuga lake (Ithaca), and in Holland.
Sailing Previously on Cayuga lake: anything sailable at East Shore Sailing. Out of interest, I've collected wind statistics for Ithaca in 1997 and 1998.
Skiing In France, Switzerland, Austria, Utah, Vermont, and New York.
Rock climbing Indoor, at 5c or 6a on a good day.
Biking For all local destinations.
Cooking Survival skill picked up in the US and subsequent cooking classes. Recipes for my favorite deserts.


Copyright © 1996-2016 Eric Lafortune.