Projects / Technology

Software 3D Renderer (Work in progress) - July 2024 - Present

screen capture

I'm making a software 3D renderer (it uses the CPU for rasterization) in C. Following the course from pikuma.com.

See the source code here: https://github.com/HenrYxZ/3drenderer

Implementing UI for Electronic Arts - Dec 2022 to June 2024

Gameday tile, Madden NFL 25
Gameday tile, Madden NFL 25
League Leaders tile, Madden NFL 25
League Leaders tile, Madden NFL 25
Custom Schedules screen, College Football 25
Custom Schedules screen, College Football 25
Custom Conferences screen, College Football 25
Custom Conferences screen, College Football 25

Implemented UI for Madden NFL and College Football games from EA Sports.

Game Engine (Work in progress) - May 2023 - Present

screenshot of model with blinn shading
A 3D model in the engine

I'm making a 3D game engine in Python with OpenGL. I wrote an OBJ parser and currently I'm able to load models with multiple textures.

Part of it is also making a UI library that I called pudu-ui and has an MVC design.

See the source code here: https://github.com/sombra-studio/sombra-engine

Real-Time Graphics - Feb 2022 - Oct 2022

blinn shading
Shaders in OpenGL (GLSL)

I've been following a Real-Time Graphics class to learn more. I implement the projects using Python, moderngl (a Modern OpenGL library) and GLSL.

See the source code here: https://github.com/HenrYxZ/interactive-graphics

Pictorial Map - Nov 2020 to July 2021

pictorial map
Image from the Web app

For my capstone project I've developed a tool for creating interactive 3D pictorial maps for storytelling. The maps are of ancient cities and they are created using data-driven procedural placement. The idea is to show important cities from the Bible so that people can be immersed in the story and better understand the context.

See it run live here: https://henryxz.github.io/pictorial-map

See the source code here: https://github.com/HenrYxZ/pictorial-map

See the paper here

Raytracing with Python - Jan to April 2020

Animation made entirely in Sombra
caustics
Caustics
depth of field
Depth of Field

Sombra is a Raytracer made in Python. The main purpose of it is to be educational, so I focused on a clean code rather than efficiency.

Some features are: Raytracing, Caustics, Multi-Threads, Depth of Field, Normal Maps, Textures

I also made series of tutorials for developing a Raytracer in Python from scratch and they are written in Spanish.
https://sombra.studio/raytracing-para-todos

Source code here: https://github.com/HenrYxZ/sombra

Video Particle Effects - Nov to Dec 2020

Created a video effect using a Computer Vision algorithm and particles simulating rigid-body Physics. I applied it to a video of live music. The result is an abstract and dreamy experience. This was developed in Python.

See the project website here: https://henryxz.github.io/video-particle-effects

See the source code here: https://github.com/HenrYxZ/video-particle-effects

See the entire music video here: https://www.youtube.com/watch?v=ajTteM615Co

Virtual Reality - Fall 2019

Worked in a group of 4 making a prototype VR app that displays complex 3D weather information (isosurfaces) that is usually displayed only in 2D. We used Unreal Engine 4. The objective was to make this information easier to understand for Meteorology students.

You can see our paper here

Object Classification - Jan to Mar 2016

sift features confusion matrix

Back at PUC, my home university, I won a Short-Term Research Scholarship to travel to Texas A&M University for about 2 months. I worked in Research for Agriculture under the Department of Computer Science and Engineering, advised by Dr. Bruce Gooch. I created an image classification program from scratch using Python and OpenCV, and the libraries numpy, scipy and matplotlib. The model had an accuracy of 80% with 5 classes using less than 100 training images per class.

The repository has 20 stars and 10 forks, you can see it in: https://github.com/HenrYxZ/object-classification

A blog of weekly reports is here: http://aggiecv.blogspot.com/

In my last week, I made a prototype feature of voice commands using speech recognition for an Android app used in Agriculture research.