Code & Software
I develop and contribute to various open-source software related to Computer Graphics. This listing gathers public repositories grouped in four families: general-purpose libraries and tools, research prototypes associated with publications, teaching materials (lecture slides, lab descriptions and lab code), and standalone software. Additional code is available on my GitHub page.
Note: for research prototypes, the listed PhD student or co-author is generally the main developer of the code. Teaching materials are provided as open-source to support reusability by students and the community.
Libraries & General Tools
Open-source libraries and utilities designed to support teaching, research, and scientific communication.
CGP — Computer Graphics Programming library
C++ library for simple 3D programming with a dedicated focus on teaching purpose (simplicity, readability, debugging) while remaining low-level and multi-platform.
Source code,
examples,
documentation.
C++ / OpenGL
LHTML — Lightweight HTML parser
Lightweight parser extending a few keywords over HTML for quick webpage writing with embedded CSS. Inspired by markdown but designed to remain fully compatible with HTML.
Python
Static website generator written in Python, based on Jinja2 and LHTML, with pre-made templates to generate HTML slides and tutorial webpages (used for all my open-source courses).
Python / Jinja2
JavaScript tool and template to query and display HAL publication listings, with support for additional local metadata (video thumbnails, awards, code links, project pages) described in YAML.
JavaScript / YAML
Python / JavaScript / YAML
Research Prototypes
Open-source code associated to a research publication.
Code where I am the main author
Code developed by co-supervised PhD students
Line-process based approach for robust denoising of point sets, preserving sharp features. Associated to
AFIG22.
Code from: Jiayi Wei · C++
Real-time locomotion and dynamic footprints on deformable soft grounds, implemented in Unity. Associated to
Frontiers22.
Code from: Eduardo Alvarado · Unity / C#
Kinematics-driven cartoon effects on articulated characters through an acceleration-based skinning formulation. Associated to
GI22 (Best Paper, Michael Sweeney Award).
Code from: Niranjan Kalyanasundaram · C++
Interactive procedural simulation of consistent volcanic plumes coupling buoyant fluid with particle ballistics. Associated to
I3D22.
Code from: Maud Lastic · C++
Procedural noise model for dendritic patterns used to synthesize terrain and natural features. Associated to I3D19.
Code from: Mathieu Gaillard · C++
Robust field-based method for modeling and untangling layered clothing on animated characters. Associated to
SIGGRAPH19.
Code from: Thomas Buffet · C++
Geometric simplification and visualization of large sets of brain white-matter fibers. Associated to VCBM18.
Code from: Corentin Mercier · C++
Teaching Materials
Open-source lecture slides, lab descriptions and lab code for the courses I teach. All lectures are generated with the Static Website LHTML tool and rely on the CGP library for the practical labs.
INF585 — Computer Animation (École polytechnique)
Topics: Real-time animation, deformation, physically-based simulation
Topics: Introduction to C++, OpenGL, real-time rendering
Topics: Animation, deformation, simulation for PhD students
Lab code for the introductory 3D animation course at EPITA Image 3A.
Topics: Introduction to interactive 3D animation
INF443 — Previous Graphics 3D practice code
Legacy practice code for the former INF443 Graphics 3D class (replaced by CSC 43043 EP since 2024).
Topics: OpenGL, real-time rendering
Software
Standalone applications developed outside a research context.
Web application for signing PDF documents running entirely in the browser — no file is ever sent to a server. Supports signature placement, document annotation, customizable text fields, and PDF export.
Source code.
TypeScript / React · MIT
Slideo — Video-oriented presentation editor
Web-based presentation editor with advanced video handling (autoplay, looping, playback controls), real-time collaboration, 16:9 canvas with drag & drop, Google Slides import, and standalone HTML export.
Source code.
TypeScript / React / Express