This page only presents my personal projects. All the work I have completed in my current company is under Non-Disclosure Agreement and cannot be presented here.
3D UI(2012)

C# • DirectX

I completed this project titled "Building Worlds with Strokes" with 3 teammates. Our system aims at intuitive freeform object modeling and natural world movements by using two interaction techniques.


SharpDX • Mesh processing • Artificial neural network • Machine learning

Bump Mapping(2010)

C# • Silverlight

I made this project to learn more about Silverlight. The effect is computed on the CPU using the input greyscale image as a heightfield to compute the lighting. Silverlight did not include any pixel shader capabilities at the time.


WPF • Bump mapping • Software renderer

Android Apps(2010)

Java • C++ • OpenglES

I made two small Android apps in order to get familiar with the Android development environment. The first one is a small game prototype made in Java/OpengGL, the second one is a live screensaver coded in native C using the Android NDK.


NDK • Game • Live Screensaver

Handheld AR(2009)

C++ • OpenGL ES 2.0

I had the chance to work at the renowned Georgia Tech GVU Center where I designed this handheld augmented reality game with another student.

The project became the topic of a talk given at GDC 2009, and was part of the video program at IEEE VR2010. It also appeared in most of the popular tech news websites (Engadget, Slashdot, Reddit...) and was featured in a TV program on BBC news.


nVidia Tegra • Handheld Device • GDC 2009 • BBC News • IEEE VR2010

Game prototype(2009)

C++ • C4 Engine • nVidia PhysX • OpenSteer

This is a video game prototype I developed with a team of three other students for a video game design course at Georgia Tech.

We used the C4 game engine, OpenSteer for controlling the opponents' AI, and nVidia PhysX in order to create a fast-paced action shooting game, based on dodge ball.


Prototyping • Video Game Design • A.I. • Game Engine • Physics

Least Square Solver(2009)

C# • Silverlight

This simple project solves overdetermined systems using linear regression.


Least square regression • QR decomposition

Haptics & AR(2008)

C++ • OpenGL • OpenHaptics

I completed this project during a research semester in a laboratory at the Chiba Institute of Technology in Japan.

The main objectives of this project were to enhance augmented reality features (shadows, reflections, occlusion problems), develop a solution for merging haptic technologies, augmented reality and a physics engine, and examine ways to efficiently take advantage of these new interaction possibilities.


Augmented Reality • Haptics • Physics Engine

Computer Animation(2009)

C++ • OpenGL

The first short animation film demonstrates the features and stability of a keyframe interpolation / curve evaluation algorithm my partner and I developed from scratch in C++. No 3D modeling application (e.g. Maya) was used, models are only made of OpenGL primitives, and animated using our system. The movie sequences were put together using Adobe After Effects CS4.

The sequel, still featuring our quite unfortunate spider demonstrates what the particle system we also implemented from scratch is capable of. Our final objective was to fully implement a system able to simulate constrained dynamics.


Animation interpolation • Particle systems • Constrained dynamics

Wiimote for interaction(2008)

C++ • OpenGL

Commercial and open source 3D modeling applications currently exist to allow users to create 3D models. These applications are limited by interaction abilities of 2D input devices. However, the lack of appropriate interaction techniques have led to the lack of success of 3D input devices.

Using the Nintendo Wiimote and OpenGL, we simulated a 3D environment and showed how the accelerometers and optical sensor technology in a Wiimote could be used to enhance a user's experience within a 3D environment. The extensible nunchuk is also used to simulate two-handed input and provide the users with greater options in movement within the viewport in the 3D environment.


H.C.I. • Gesture recognition • Collision detection • User evaluation

Plugin For Virtools(2007)


The main objective of this project was to implement a plug-in for Virtools to access ARToolKit functionalities within the Virtools development platform. Combining this plug-in with the efficiency of Virtools' building block-oriented development process greatly facilitates the creation of augmented reality applications.


Virtools • ARToolKit • SDK • Augmented reality • Physics pack

Immersive Table Football(2006)


This project combines stereoscopy and 3D motion tracking (Ascension Flock of birds) in order to create an immersive table football.


Virtual Reality • 3D Motion tracking • Virtools • Stereoscopy • Sensors

Short Film(2006)

This course was an introduction to movie direction. We spent the first half of this course learning about the different steps and the main techniques used to direct a movie. Then we had to shoot our own short film under constraints. We were given the following storyline that we had to stick with:


Short film • Script • Shooting • Director • Storyline