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