A self-contained, cited introduction to the Material Point Method: the hybrid particle-grid technique behind Disney’s Frozen snow, modern graphics-research sand/mud/gel simulation, and the recent push toward real-time GPU-MPM.
It is written for a programmer who is comfortable with code and high-school/early-college math, and wants to genuinely understand MPM — not just paste an implementation. The documents are meant to be read roughly in order, though each stands alone, and every claim in them is cited back to References.
What MPM is
MPM represents material as Lagrangian particles (carrying mass, velocity, and deformation state) that move through space, and each timestep transfers their data to a disposable Eulerian background grid to compute forces and resolve contact, then transfers the result back. This hybrid sidesteps the mesh-tangling of mesh-based methods and the material-smearing of grid-based fluid solvers, making it exceptional for large deformation, fracture, phase change, and multi-material mixing — snow, sand, mud, gels, foams, and fluids.
The documents
Tutorial — Start here for intuition before formalism, or as a first read before the rest of the guide.
Material Point Method: Step by Step — an interactive, visual on-ramp for engineers and game designers with no fluid-mechanics background: the Lagrangian/Eulerian bargain, the four-phase loop, a worked particle-to-grid-to-particle transfer you can step through with real numbers at every node, the B-spline weights and why linear kernels jitter, what APIC recovers, F and plasticity as a clamp, a worked material palette, a symptom→knob tuning guide, and an annotated list of the other MPM tutorials. HTML because the transfer walkthrough is interactive — open it in a browser
Prerequisites — Read it to understand why the algorithm looks the way it does.
Lagrangian vs Eulerian frames, continuum mechanics (the deformation gradient F, stress measures), constitutive models (Neo-Hookean, fixed corotated, Drucker-Prager), singular value & polar decomposition, B-spline interpolation, and the particle-in-cell methods MPM descends from (PIC / FLIP / APIC)
Theory — Read it for the core mental model of how MPM works and where it fits.
History (from Sulsky’s 1994 origin through Disney’s 2013 snow to today’s real-time variants), the full particle-to-grid → grid → grid-to-particle cycle with the math, governing equations/weak form, variants, use cases, limitations, and comparisons with neighboring methods (smoothed-particle hydrodynamics, finite elements, position-based dynamics)
Related Methods — Read it to understand a neighboring method that a comparison references.
Standalone definitions of the methods MPM is weighed against — FEM, SPH, PBD, Eulerian grid fluids, and height-field / shallow-water fluids (what real-time game water actually uses) — plus the shape representations that sit beside a solver or stand in for one: signed distance fields, Voronoi pre-fracture, and displacement + parallax occlusion mapping (what “deformable snow” usually means). The companion to Theory §8 (which keeps the head-to-head comparisons)
Implementation — Read it to build or optimize an MPM solver, or to read EA’s PB-MPM code.
GPU optimization (the particle-to-grid scatter bottleneck, fixed-point atomics, and the worked tile/shared-memory/fused-kernel shape that beats it, sparse grids, data layout), reference implementations (nialltl, taichi_mpm, GPUMPM), and §3.3’s file-level close reading of EA SEED’s
pbmpmGames — Read it to assess MPM for a game.
Where MPM ships today (film visual effects, engineering, research), the question of whether any commercial game uses MPM as its core mechanic, why not, what ships instead (the height-field water and displacement-snow incumbents, and what they can’t do), what makes a real-time MPM-native game newly viable, and EA SEED
Rendering — Read it to render MPM output, or to understand why a surface reads wrong.
Turning particles into a picture: the reconstruction method space and what binary-iso / additive / hybrid / faceted / screen-space each structurally can and cannot deliver, the optical stack a liquid needs, why the per-material look problems are different kinds of problem, and secondary particles (spray, splash, foam) and the reabsorption rule that keeps them honest
Dimensionality — Read it to choose between a 2D and a 3D solver, or to build the 2D one.
2D versus 3D MPM: why you would want a 2D solver at all (cost, planar games, constitutive-law iteration, debuggability, benchmark comparison), why 2D is a plane-strain assumption rather than a thin 3D one, what a 3D solver can and cannot be made to reproduce, the node-count arithmetic that usually decides it, a build recipe for the 2D path, and the rule for what to share between the two
References — Read it for the primary sources behind every claim.
Curated bibliography: peer-reviewed papers, courses/tutorials, blogs/media, and open-source repos — all linked. §3 covers the practitioner line the papers do not: Grant Kot, the most important non-academic figure in real-time MPM and the root of the hobbyist port tree, along with the devlogs that document how shipped water and snow are actually built
Patents — Read it to know what is patented before you adopt a technique.
The patent landscape: a factual inventory — not a legal opinion — of the MPM patents held by Disney, Tencent and the UC Regents, what each claims, the Chinese sorting grant, how the inventory was built and the gaps in the sweep itself, and the pattern worth internalizing before adopting any published technique
Suggested reading paths
- “If I read nothing else” → three sources, in this order. The SIGGRAPH 2016 course notes (Jiang, Schroeder, Teran, Stomakhin, Selle) — The Material Point Method for Simulating Continuum Materials, the canonical tutorial, also at mpm.graphics. nialltl’s MLS-MPM guide — the most approachable from-scratch implementation walkthrough. And the Disney 2013 snow paper (Stomakhin et al.), MPM’s graphics debut.
- “I’ve never done this and I want intuition first” → Tutorial — the interactive step-by-step — then nialltl’s MLS-MPM guide for the from-scratch walkthrough, then Prerequisites → Theory for the formal treatment.
- “I want to understand the method” → Prerequisites → Theory. Skim Implementation §1–2.
- “I want to build it” → Theory §4 (the algorithm) → Implementation → start from nialltl’s incremental_mpm. Theory §7 and Implementation §5 carry the traps worth knowing before the first debugging session.
- “I’m reading the position-based solver” → Implementation §3.3 (what PB-MPM is and what the reference code does, file by file).
- “Can I actually use this technique?” → three independent questions, three places. Can I read it? → References. Can I copy that code? → References §4 (the open-source implementations and their licenses). May I practice the method? → Patents. A free paper and a permissive license say nothing about the third.
- “I’m evaluating MPM for a game” → Theory §6–8 (use cases, limits, comparisons; Related Methods for any method §8 weighs MPM against) → Games (commercial landscape) → Implementation (if you decide to build). Read Games §4.1 before committing: for water and for shallow surface deformation the cheap incumbents are very strong, and the honest case for MPM is the specific behaviors they structurally cannot reach.
- “2D or 3D?” → Dimensionality — why you would want 2D at all, then the confinement assumption, the cost tables, and the recipe if you choose it.
- “I’m rendering the result” → Rendering — the reconstruction trade-offs first, then the optical stack, then the per-material problems.
- “Just give me the papers” → References. Every entry links out to its own source.