The Stomakhin et al. 2013 Material Point Method treats snow as a hybrid between a fluid and a solid. Elastic deformation competes with plastic flow, and the balance between them determines whether snow squishes, packs, or shatters. Both demos run entirely in your browser.
Two circular patches of particles fly toward each other on a 64 by 64 Eulerian grid. Each frame runs the full MPM pipeline: particle to grid mass transfer, velocity transfer, volume calculation, internal force computation, grid velocity update with boundary collision, deformation gradient update, grid to particle transfer, and position advection.
Adjust Young's modulus to change how stiff the snow is, gravity to watch the patches fall faster, and particle density to change how heavy each particle is. Click Apply to restart the simulation with your parameters.
The same MPM algorithm scaled to three dimensions on a 32 by 32 by 32 grid. Snow spheres are spawned with configurable velocities and simulated with full 3D elastic-plastic deformation. The scene renders through three-d with a WebGL2 backend and an orbit camera.
Choose a preset to select the initial particle configuration. The snowman preset spawns a three-sphere snowman with a small projectile flying at it. The snowball smash preset launches two spheres at each other from opposite sides. Drag to orbit the camera, scroll to zoom.
The Material Point Method maintains a set of Lagrangian particles carrying physical quantities (position, velocity, deformation gradient, volume) and an Eulerian background grid for force computation. Each timestep transfers mass and momentum from particles to grid nodes using B-spline interpolation kernels with radius 2. Grid forces are computed from the elastic potential energy density function. After updating grid velocities, the deformation gradient is advected and clamped to enforce the critical compression and stretch thresholds that give snow its characteristic fracture behavior. Finally, updated velocities are transferred back to the particles.
The elastic-plastic decomposition from Stomakhin et al. 2013 splits the deformation gradient into elastic and plastic parts via SVD. The plastic part only updates when singular values fall outside the compression or stretch threshold, modeling the irreversible deformation that occurs when snow is packed or shattered.