Programming and Art Portfolio

Below are select programming and art projects. These projects highlight my work in the areas of object oriented software development, systems development, graphics programming, and procedural modeling.

Computer Programming Examples

Chronos Habit Tracker

Link: Code and instructions to run

My Work: Built and shipped a habit tracking app with a two person team consisting of myself and an artist. Responsible for writing and maintaining all of the code and functionality of the app. Created actions that are tracked on interactable and infinitely scrollable timelines. Managed agile sprint cycles to plan and scope new features. Used test driven development to ensure the functionality of all features throughout development. Optimized systems to ensure large amounts of actions can be loaded, displayed, and interacted with on mobile.

My Roles: Systems Development, Design Direction, UI

Studio: Look Left Studio

Team Size: 2 (one artist, one developer)

Project Length: 6 months

Tools: Godot, Notion, Figma, Azure Dev Ops

.obj renderer with OpenGL

Link: Code and instructions to run

My Work: Independently completing projects for a graduate level CS course. This covers the fundamental concepts of graphics programming such as the graphics pipeline with OpenGL, camera placement and manipulation, triangular meshes, lights, shading, textures, and more! One notable portion of this project is processing data from an obj file to get vertex, normal, and texture information into OpenGL through an element buffer to minimize the data required to be sent to the GPU.

My Roles: Graphics Programmer

Course: CS 5610/6610 Interactive Computer Graphics

Team Size: Solo

Project Length: 16 Weeks (ongoing)

Tools: C++, OpenGL, Visual Studio, Git

Art Samples

Procedural Modeling

Link: Blog page

My Work: Used Houdini to model a chrysanthemum. I used custom VEX functions to manipulate the normals of points on a sphere, then copied petals to those points. Further adjustments were made to cause the petals to bend around the sphere. The leaves were created by merging several lines that were expanded via the sweep node. Different colored lights were placed throughout the scene to highlight the flower.

Tools: Houdini

Procedural Environments

Link: Blog page

My Work: Used Houdini to model a space laser. This project had a much more procedural workflow. The blocks were created by creating a geometry from a COPS noise shader that was extracted to SOPS to create geometries. These geometries were then manipulated partially by hand and procedurally in order to combine, break apart, and adjust the sub geometries to create surface features.

Tools: Houdini

Shader Screen Saver

Link: Shadertoy

My Work: Created a fragment shader that creates a red, green, and blue circle that are manipulated via noise. As the circles overlap[, the colors combine to make one bright white circle. I think it makes for a fun screen saver.

Tools: Godot, GLSL

Rogue Royale Intro Screen

Link: Motion Canvas Projects

My Work: Created an intro screen to be used in development logs for Rogue Royale, a competitive multiplayer game that I spent two and a half years building. This introduction animation, along with others, were created with MotionCanvas in order to visually demonstrate some of the technical parts of the projects I was working on.

Tools: MotionCanvas

Art Critique