For my capstone project at Brown, my team and me used Disney’s recent work, A Material Point Method For Snow Simulation (Stomakhin et al., Siggraph 2013) to implement our own snow simulator.

Disney’s method is based on particle simulation. To update the position and velocity of the snow particles, we map the particles to a grid to compute the macro effects of the particles as well as collisions. Then we map updated velocities back to the particles and handle more micro effects. This produces a wide variety of phenomena you would expect with snow.

However, Disney’s implementation was run on the CPU, restricting them to at least 3 minutes per frame and on average, 6.5 minutes per frame (from their times listed). Our extension to Disney’s work is to bring most of the computation to the GPU so that we can provide an interactive environment for simulating the snow.


I created heatmap-js address my problems with google maps heatmap library. Specifically, there is no support for contour plots and limited ways to customize the heatmap.

To address these problems, the library provides first class access to the functions used to compute the heat that each point contributes. This ends up being quite powerful; for example, including support for contour plots was done by simply using a different heat function.

This library is NOT ready for production yet. First, it is implemented to only work with google maps. Second, there is still an obvious performance problem when zooming.