Computer Graphics

Screenshots of some of the computer graphics applications I have been working on, including GPU path tracing, procedural terrain generation and ray-casting, ambient occlusion, procedural texturing, acceleration data structures, physics simulations, voxel engines, and volume rendering. Guess which is which!


3D Shooter Game

A 3D shooter written in C++.

OpenGL was used for rendering, and DevIL for image loading. Everything else, from the math utility library to the loading and rendering of MD2 models, was written from scratch.

Except for the math library, this game was developed over the course of two weeks

Bubble Bobble Clone

A 2D game inspired by Bubble Bobble, developed with a classmate at uni.

The most notable feature is perhaps being able to go back in time, together with the relevant graphics effect and the transition between levels.


Scrolling Text LED Panel

The "yo dawg" meme scrolling on a LED matrix, developed with my friend Alejandro Fernandez at uni.

The most interesting part of this project was that we received no help regarding the use of the board. Given the board's schematics and our limited experience with electronics, we had to identify what pins to interact with to manipulate the LED matrix, and then develop the code that would animate the scrolling text.

Tricky Disco on Arduino

Myself playing tricky disco on an Arduino.

Using my limited musical skills, I found the notes used to play the tune, looked up their frequencies and mapped each of them to one of the buttons. An Arduino would then identify what button is being pressed and play the relevant frequency on the buzzer.

Engine Dyno Facility Software

Software for Faluga's Engine Dyno Facility.

The program lives in an Arduino inside the operator's panel and takes control of the engine to allow for fully automated performance tests.

All of the hardware in the operator panel was done by my father; I just wrote the brains.


Introduction to Path Tracing

Interactive Volumetric Lighting Simulating Scattering and Shadowing

Note: original paper is not my own personal work.

Approximating Dynamic Global Illumination in Image Space

Note: original paper is not my own personal work.