Eric P.F. Lafortune

Welcome to my home page. Some information about me and my projects.


Dec 2011 - Dec 2020 Founder, CTO,
Guardsquare, Leuven, Belgium
Jun 1999 - Nov 2011 Project lead,
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 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's written in ARM assembler and features ray-traced tiles.
Rock Runner (1985) An 8-way scrolling game for the TI-99/4A, heavily inspired by Boulder Dash. It's written in TMS-9900 assembler. The code fits in 4K of memory.

Other hobbies

Windsurfing On Boa Vista (Sal Rei), Tenerife (El medano), Fuerteventura (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.
Sculpting Mathematics-inspired shapes in soap stone.
Cooking Survival skill picked up in the US and in subsequent cooking classes. Recipes for my favorite deserts.


Copyright © 1996-2022 Eric Lafortune.