A full list can be seen here
This is only simulating 2048 particles, divided up into blocks of size 512. It seems conceptuallly reaonsable that my graphics card should be able to handle far more, but I run in to trouble when approaching 4096 particles irrespective of the blocking.
This demo just uses fractal noise (from a tilable heightmap I made here) to deform a torus in a vertex shader. From there, normals are calculated by a simple finite differencing method, and then a phong style lighting model is applied. Whats more, the transmitted light through the torus is modelled using a variant of the method described here. At first I did not know how to get a floating point texture in webgl so packed the depth into a standard 4 byte texture via a fixed point scheme. I later discovered how to access the floating point textures and remade the demo here