Profile Picture

Leonardo Mariscal

[email protected]

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.

Projects.

Micrograd WebGPU

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.

Nim Game Library

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

jai_ply

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.

Axolotl - 3D Physics Engine

Real-time 3D rigidbody collisions, OBB-to-OBB, sphere, and plane intersections, raycasting, and their appropriate constraint resolutions.

Knoting

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.

TwitchIRC

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”.