Hi! I’m currently working at Ubisoft on an unannounced project.
Moved from México to the UK to do my masters.
In research, my current field of interest lies in the intersection between Computer Graphics, Computer Vision, and Artificial Intelligence.
With a particular interest in neural rendering, generative models, face and body tracking, and geometry deformations.
Stuff I like: Linux, (Neo)Vim, C++, Python, LaTeX, computer graphics, machine learning, rendering in all of its forms, reading fantasy, juggling, and dancing salsa.
Sprinkle some web development, and stuff that better fits in a lengthy CV.
To see what I’m currently up to, check out my now page.
Autograd engine implementing 2D Tensors, backpropagation, and a PyTorch inspired neural-network library. Utilises WebGPU for GPU acceleration and implements a CPU backend in Typescript.
Inspired by LWJGL3, NimGL is a collection of low-level bindings for popular APIs commonly used in computer graphics. Implements: OpenGL, Vulkan, GLFW, and ImGui via cimgui
Ply file parser written in Jai. Supports both ASCII and binary formats, and provides a simple API to quickly read files and access metadata, elements and properties.
Real-time 3D rigidbody collisions, OBB-to-OBB, sphere, and plane intersections, raycasting, and their appropriate constraint resolutions.
Multiplayer game implemented from scratch. Done as a team effort for a project, using an ECS architecture we implemented in C++ a network stack, rendering pipeline via BGFX, game logic, JS scripting via QuickJS, and 3D physics via Nvidia's Physx.
A Java library which provides an interface to the Legacy Twitch API v5 and live communications using the IRC protocol. Interactions with chat via IRC, coupled with an interface to retrieve live data via the now legacy Twitch API ”Kraken”.