PROJECTS

Home

RESEARCH

SECRET-SAUCE REAL-TIME YARN SIMULATIONS
2024-2025 Currently under review
A robust real-time yarn-level simulation with collision and penetration guarantees using a novel collision handling scheme. Large timesteps are achieved using a novel time integrator for rods which converges significantly faster than semi-implicit methods like XPBD and fully implicit methods like VBD.
REAL-TIME PHYSICALLY GUIDED HAIR INTERPOLATION
SIGGRAPH 2024 Journal Technical Paper | Project Page
SIGGRAPH 2024 Technical Papers Trailer
SAG-FREE INITIALIZATION FOR STRAND-BASED HYBRID HAIR SIMULATION
SIGGRAPH 2023 Journal Technical Paper | Project Page
Technical Papers Awards: Best Paper Honorable Mentions
A GENERAL TWO-STAGE INITIALIZATION FOR SAG-FREE DEFORMABLE SIMULATIONS
SIGGRAPH 2022 Journal Technical Paper | Project Page
Intelligent Adaptive Splitting for Vector Representations
2021-2023 Awaiting submission
A universal splitting metric for vector representations across both spatial and temporal domains. This allows for efficient meta-parameter discovery for discrete handles and keyframes.

UNDERGRADUATE

2D SPH FLUID SIMULATION WITH TWO-WAY COUPLED SOLIDS
Purdue University 2019
A 2D SPH fluid simulation that leverages compute shaders in OpenGL to dramatically speed up frame times. The fluid particles are simulated with a spatial hashing algorithm synchronized with atomics. Integration was done with RK4. Solids are simulated as fluid particle clusters with particle impulses obtained through parallel reduction. Rendering is done through the use of a variable radius blur combined with a threshold function. On a RTX 2070 Super, the simulation can support up to half a million particles with ~5ms per time step (dt=8ms). The video on the left is playedback at realtime on my laptop with each scene containing ~100k particles.
PERFORMANT PROTEIN VR VISUALIZATION
Purdue University 2018
I worked under Prof. Gurav Chopra and the Envision Center visualizing protein molecules in VR. I started with a simple instanced renderer. From there I implemented billboarding to reduce the poly count; a compute-based atom culling algorithm to address fill rate bottlenecks, a fluid rendering inspired iso surface renderer to address Van Der waals shells, and octahedral imposters to address background rendering. I came up with the idea of running a linear regression on the atom positions to better align axis-aligned-bounding-boxes. I ended up with the ability to render 50k+ atoms complete with labels and bonds at the speed and fidelity VR applications require.
GRID-BASED SAND COUPLED FLUIDS
Purdue University 2018
A somewhat early stage clone of an old esoteric simulation game called The Powder Toy using compute shaders.
C++ ECS GAME ENGINE
Monta Vista Highschool 2017
A 2D game engine written from scratch using OpenGL and GLFW. It has a build-in constraint based physics engine with a SPT broad phase. Similar to Unity, it was its own transform parenting system and an implementation of several GUI functions like: GUI event dispatches, anchored based UI scaling, instanced atlas text rendering and sliced sprite rendering.
ITERATIVE RIGIDBODY PHYSICS
Monta Vista Highschool 2016
A 2D physics engine written from scratch in JAVA utilizing an iterative contact solver like those used in Bullet2D.

Home

Scroll to Top