A cropped version of the classic Cornell box scene is rendered.

Monte Carlo Path Tracer

  • C++
  • OpenGL
  • GLSL

Offline path tracer purely impemented in GLSL. Supports multiple sampling methods, physically based materials including microfacets, and realistic light sources.

The sun is rising on a hill. Trees with colored lights are in the distance. Clouds are in the sky. The player has glowstone selected in their hotbar.

Mini Minecraft

  • C++
  • OpenGL
  • GLSL

3D voxel game engine built in a team of three. I was responsible for functionality related to chunking, block rendering, multiple gameplay systems, and UI.

In the middle of a game round, with the timer running down and the player already having lost one life.

RCW

  • Unity
  • C#
  • Figma

My first experience with Unity and game dev, RCW is an endless minigame about matching the right colors and words together.

A model of an old-fashioned gun is set against a backdrop of a lake.

Real-time Physically-based Renderer

  • C++
  • OpenGL
  • GLSL

Implements a microfacet surface model using Cook-Torrance BRDF. Performs importance sampling from environment maps for image-based lighting.

Two differently-colored fireballs with long tails are side by side.

Fireball

  • WebGL
  • GLSL
  • TypeScript

Customizable procedural fireballs modeled after the hakujoudai and kokujoudai from Jibaku Shounen Hanako-kun.

Duck and Goose are at the very beginning on the same platform, attempting to get to the lemonade stand on their right.

DuckGooseDuckGoose

  • Unity
  • C#
  • Figma

duk an goos clim montan. A stress-inducing two player game made in 24 hours for UPGRADE's Spring 2024 Game Jam.

Player is midgame on round 4 with 6 enemies left, and has the assault rifle selected.

deth

  • Unity
  • C#

2D top-down roguelite shooter made with friends in 24 hours for UPGRADE's Fall 2023 Game Jam.

A slightly open white door is floating above a picnic blanket that has food, a laptop, and a basket on it. The background is purple.

𝑫𝑢𝑢𝑹

  • Unity
  • HLSL
  • Shader Graph

To learn more about URP features like postprocessing and scriptable Renderer Features, I made this little scene inspired by OMORI.

Player is fighting three other visible tank enemies on the screen. They've ricocheted two bullets and are about to be hit.

Tanks (Demo)

  • Unity
  • C#
  • HLSL

Game prototype made by the UPGRADE team across the span of a month. Heavily inspired by "Tanks!" from Wii Play.

A black leather chair with a metal base is rendered against a white background.

Moore Chair

  • Maya
  • Substance Painter

I found a really nice chair in UPenn's Moore Engineering Building and decided to try modeling it for class.