About me

I am a Canadian software developer living in Montreal, specializing in Computer Graphics. The main tools I use for personal or professional projects are Vulkan, Unity, WebGL, GLSL, OpenGL, LibiGL, Skia, Renderdoc, Imgui and more. I program mainly in C++ , C# and Python, but I am also familiar with Javascript, HTML/CSS, C, Assembly and bash scripting in UNIX. I also have knowledge in the field of Artificial Intelligence, mainly in Computer Vision using OpenCV and PyTorch. Regardless of my specialties, I'm open to all roles related to software development!
In my spare time, I am a visual artist you can see some of my work here.
Although I fully recognize the usefulness of AI agents for productivity,
None of the projects below were made using LLMs, these were all done with passion and my curiosity to learn.
Real-Time Rendering Projects
High-performance mass-instancing
A large vulkan-based project I worked on during my time working on Space Engine
Procedural Planet
A shader project with an article I wrote
Voxel-based multithreaded culling
Frustum culling system I implemented for the voxel-based game Tales of War
WebGL projects
A collection of WebGL projects programmed in ThreeJS and GLSL
Raytracer
Classic Raytracer in C++. Not in real-time!
Vulkan conversions
Converting my projects into Vulkan
Computational Geometry Projects
Subdivision algorithms
Implementation of Loop, Sqrt3 and Butterfly subdivisions from scratch
Laplacian and curvature calculation
Algorithms using the Laplacian of surfaces, calculated from scratch
ARAP implementation
An implementation of the 2007 ARAP surface modeling paper
Artificial Intelligence Projects
Autonomous Driving with Duckietown
Member of a team of graduate students for the development of an autonomous vehicle
Real Time Optical Flow
Visualization of the direction of motion all in real time using the GPU
Misc. Computer Vision projects
Includes Convolutional Neural Networks in PyTorch, panoramas, and curvature detection
Seminars on Computer Graphics Papers
The following are slides I made for the computer graphics seminars I gave to fellow graduate students. Each seminar was about an interesting Computer Graphics scientific paper. Naturally, these seminars required me to have a deep understanding of the paper I presented. For some papers, I would go as far as to reproduce their methods.Work
C++/OpenGL Embedded Graphics Programme - Pace Aerospace
I am currently employed to Develop a DO-178 safety-critical graphics-editing HMI engine for the military and aviation industry.
Unity Graphics Developer - Tales of War
Graphics expert consultant at the Indie Asylum for Tales Of War, an upcoming 100 players multiplayer game. I was Contracted to profile performance bottlenecks and optimize the game. My work involved profiling and optimizing the unity game for low-end hardware on a variety of platforms. I mainly programmed in C# and GLSL.
• Used renderdoc to identify and explain slowdowns to other developpers • Implemented BVH Frustum Culling on Voxel-based terrain, multithreaded on the CPU • Implemented various visual debugging tools to help other developpers • Worked on a Cached Shadowmaps rendering feature • Wrote custom simple GLSL lighting shader adapted to game's desired art style
Vulkan Graphics Developer - Cosmographic Software
Graphics programmer for Space Engine, an interactive universe simulator with highly advanced procedural generation techniques and graphics capabilities based on real, accurate astrophysics. I programmed in C++ and GLSL, using Vulkan.
• Worked on an RHI in Vulkan • Implemented a variety of Vertex and Fragment shaders, both in forward and deferred rendering • Implemented and synchronized Compute Shaders to deffer work from the CPU to the GPU • Implemented various computer graphics techniques : PBR materials, GPU frustum culling, LOD, Billboarding, Texture Atlases, and some more.
C++ Graphics R&D Developer - Corel Corporation
Employed to work on the CorelDraw graphics suite. I was tasked with developing typography technology with the Skia graphics and WebAssembly. It required understanding of vector graphics, language encoding, font encoding and glyph rendering. I programmed in C++ and javascript.
Python developer for chemical analysis devices - Aquassist, Magnus Produits Chimiques
Internship of 4 months in Magnus’s research and development branch : Aquassist. I was employed to develop innovative portable chemical analysis devices. I worked with AWS and a multitude of Python libraries including Numpy, Pandas, Boto3, Dash and BluePy.
AI Developer for a conversational agent in Unity - National Research Council Canada (NRC)
Employed by the NRC to develop a conversational AI simulating varying personalities for research purposes in the criminology field.
Education
Masters of Computer Science
University of Montreal
Graduated with Cum Laude distinction
Computer Graphics and Computer Vision
Bachelor of Computer Science
University of Montreal
Graduated with Cum Laude distinction
Natural Sciences DEC
Maisonneuve College