Current Projects

Here is a list of projects I am actively working on currently.

OpenGL Rasterized Renderer
C++ / SDL / OpenGL

OpenGL renderer meant for my own edification.

Current Features:

  • Custom Math library
  • Can compile and execute inline GLSL shader code

Planned Features:

  • Custom render image export
  • BRDF reflectance
  • Realtime shadows and shadow maps
  • External Shader files and editing
  • Support for OBJ/FBX/OpenUSD/glTF files
  • Texture mapping (including normals)
  • Screen space post processing
  • Anti-aliasing
  • SDF font rendering
View Code 
Screenshot of the hello world triangle rendered with OpenGL

SIMD Accelerated Software PathTracer
C++ / SDL

Wanted to take a break from OpenGL rasterizers and learn pathtracing.

Current Features:

  • Handwritten math types and algorithms
  • Handwritten graphics algorithms

Planned Features:

  • Blue noise ray sampling
  • Modified BRDF reflectance
  • Realtime shadows and shadow maps
  • SIMD accelerated ray computation
  • Multi-threaded render image construction
View Code 
Screenshot of pathtracer output showing colored spheres with varying reflectance in a white scene

Past Projects

Here is a list of past projects I've worked on over the years. There will be a link to the Git repo if I am allowed to share the code.

Ordered Events
C# / .NET 6.0

Single-file library that allows you to order event function execution in .NET. Wrote a simpler version during an interview. The interviewer and I spoke about how the order of events in .NET is an implementation detail and not guaranteed to be in the same position as its temporal addition to the invocation list.

View Code 
Screenshot of code using the ordered events library

DBF to MySQL
C# / .NET 6.0

Needed to convert a lot of Visual Fox Pro DBF tables into MySQL tables. Also wanted to better understand the DBF file spec.

View Code 
Diagram showing conversion flow from FoxPro to C# to MySQL

Adventure Boy
C# Gameplay Programmer / Unity

  • Wrote speech bubble and communication system
  • Created interactable UI/UX
  • Helped debug sprite shader bugs
  • Spearheaded rewrite of locomotion system
  • Produced C# .NET and Unity prototypes swiftly
  • Crafted modular code and reusable asset prefabs
  • Executed QA tests and responded to feedback

Eucharist
Lead C# Developer / Producer / Unity

  • Consistent 60 FPS on mid-range 2015 target hardware
    • Utilized Data-Oriented Design (DOD) and multi-threading
    • Implemented audio sub-system for efficient runtime allocation
    • Custom asset loader ensuring proper scene cleanup
  • Designed and implemented all gameplay code:
    • Each puzzle with tester feedback integration
    • Lock picking mini-game
    • Interaction and inventory systems
    • Player locomotion system
    • Fixed camera system (Resident Evil style)
    • Examination text scroll system
  • Wrote all accessibility options:
    • Dyslexia-friendly font support
    • Dynamic font size support
    • Dynamic game loop speed setting
  • Automated build and executable export process
  • Created all UI code and state management
Screenshot of Eucharist accessibility options menu Screenshot of scrolling examination text in Eucharist Screenshot of Eucharist lockpicking minigame

Draggo Sanctuary
Lead C# Developer / Producer / Unity Mobile

  • Consistent 30 FPS on mobile targets (2013)
  • Wrote C/C++ DLLs to optimize hot paths
  • Created all UI code and state management
  • Automated Android/iOS test suite
  • Wrote optimized shaders for target devices:
    • Gerstner Ocean Waves
    • Mesh Outline, Diffuse, and Specular
    • Billboards
    • Tree and foliage animation
    • Facial Sprite animation
  • Designed and implemented gameplay code:
  • Implemented custom tween library
  • Used Playfab as cloud backend
Watch Level Design Video 
UI/UX structure of Draggo Sanctuary in Unity editor Debug UI for Draggo Sanctuary