Coding Projects

Ray Tracer

Renders image from a scene by recursively tracing rays to calculate lighting. Handles shadows and configurable materials including reflectance, transmittance, and refraction.

Volumetric Renderer

Renders volumes stored as densities in a voxel buffer. Calculates transmittance and color using ray marching. Renders spheres, cubes, clouds, and pyroclastics. Supports multiple lights and batch rendering.

Google Knowledge Carousel Sorting Animation

A sorting animation on the Google Knowledge Carousel. Made several animation prototypes. Moved server-side sort logic to client to improve latency and smoothness.


A simple Maya-like 3D computer graphics program. I implemented basic geometry manipulation, raycast selection, OBJ import, free form deformation and global deformation.

2D Flipbook

A 2D animation program that allows users to create, edit, and delete keyframes. The animation uses linear interpolationg between keyframes to create a smooth playback.