Queue Game Library

September 2018 - Present

QGL is a game library wrapper for DirectX12. It provides a flexible content pipeline and abstractions for D3D devices, heaps, engines, root signatures, and command lists. The copy and render engines allow work to be queued across many threads and is serialized before being sent to the GPU.

QGL’s goals are to:
  • Provide easy synchronization across threads
  • Allow queueing and CPU-side work while the GPU is rendering.
  • Provide common structures for game programming that can be defined with the content pipeline.


April 2017 - July 2018

The Math and Art Runtime Environment (MARE) is a programming language + interpreter for drawing. This platform seeks to bridge the gap between visual programming languages such as Scratch, with traditional languages like C and Python.


Hyper OS

April 2017 - June 2017

This was a project for my Implementation of Operating Systems class. Assembly code bootstraps the OS before transitioning into C++. OS supports 64-bit mode on x86 CPUs, virtual memory, multiprogramming, and interrupts.

HyperOS was going to be ported to the Xeon Phi coprocessors so it could provide a bare-metal hypervisor. The coprocessors were discontinued before porting began, so this project was abandoned.


Hyper Phi

September 2016 - March 2017

College senior project was an Extensible Firmware Interface hypervisor. The project’s goal was to bring x86 virtualization to the Intel Xeon Phi coprocessor. Deliverable was an emulator running AMD64 EFI applications on the Xeon Phi.