I'm a software engineer, both graduated from the ENSIMAG and the UFRGS.
During the last three last years, I took part of the SOFA project as a software engineer and participated to the VGate experience for SIGGRAPH Emerging Technologies 2007 and 2009.
I'm currently looking for a job, as my contract will end by the end of august 2010. My Resume
SOFA is an Open Source framework primarily targeted at real-time simulation, with an emphasis on medical simulation. It is mostly intended for the research community to help develop newer algorithms, but can also be used as an efficient prototyping tool. Based on an advanced software architecture, it allows to:
create complex and evolving simulations by combining new algorithms with algorithms already included in SOFA
modify most parameters of the simulation - deformable behavior, surface representation, solver, constraints, collision algorithm, etc. - by simply editing an XML file
build complex models from simpler ones using a scene-graph description
efficiently simulate the dynamics of interacting objects using abstract equation solvers
reuse and easily compare a variety of available methods
SOFA is currently developed by 3 INRIA teams: Alcove, Evasion and Asclepios but the project also benefited from the help of the CIMIT Sim Group, ETH Zurich and CSIRO.
SOFA is a huge multi-platform project written in C++ with more than 10000 files and 400000 code lines, using intensive templates programming. As it involves several teams, and more than 20 active contributors, it relies on several collaborative tools: a version control system (Subversion), a IRC channel dedicated to the developers, weekly phone meetings and bi-annual SOFA meetings.
Tutorials using Qt
I took advantage of all the work done for the Modeler to provide a Tutorial Application: it was designed to guide, step by step new users, and teach them some of the basic mechanisms they will encounter in SOFA.
See documentation here
SOFA Profiler using Qt
One very interesting tool to have when we develop new algorithms, is a profiler, to quickly identify the bottlenecks of the simulation: this way, it makes it easier to identify where time must be spent in order to optimize the code.
SOFA Configuration using Qt
We rely on several configuration files containing definition of variable environments to define some specific options. It can be difficult to activate/deactivate some of them, as you don't know what files depend on what options. SOFAConfiguration is a small Qt application displaying all the options available in SOFA, and updating automatically your project.
As SOFA is using templates, using our framework can be tricky, and requires good knowledge in C++ programming. To help users, I've created an automatic typedef generator, creating convenient and clever type definition for all templated SOFA components.
A tool created to verify the good behavior of the whole projects: with more than 20 active contributors, we need to make sure that a modification won't break other people's code.
Supervision of several Internships and new comers
Managing the User Mailing-List
I took part in the construction of the virtual world for SIGGRAPH Emerging Technologies 2007 and 2009.
Vgate is a new immersive environment that allows full-body immersion and interaction with virtual worlds. It is a join initiative of computer scientists from computer vision, parallel computing and computer graphics from the INRIA Grenoble Rhône-Alpes Lab and the 4D View Solutions company.
Vgate virtualizes users into graphical objects that capture shapes and appearances in real time and can be plugged in any virtual reality application. This environment provides tools for new interactive and immersive experiences, including telepresence applications when users are on distant sites.
Face Reconstruction and Recognition
Intership made in Brazil at the UFRGS, under the supervision of Jacob Scharcanski. It consisted in developing a new method involving face registration and reconstruction to eventually acheive a face recognition; this work was based on the Active Shape Models.