WEBGL GPU MARCHING CUBES | SPH SIMULATION
Clic and drag to rotate the view



The Controls options are explained below:

  • totalParticles: changes the number of particles
    used in the SPH. Affects fps, so use low values. (*)
  • mass multiplier: change particleŽ s mass to
    increase all the Forces that affect it.
  • k constant: change the way how pressure
    forces work in all the particles.
  • viscosity term: change the way how viscosity
    forces work in all the particles.
  • time integrator: change the speed of the
    simulation, high times causes divergences. (**)
  • particle Size: size of the particle to be
    painted in the 3D texture for the MC.
  • spread: makes a 3d blur in the 3d texture
    for the MC. Affects fps, use as low as possible. (*)
  • range: value used to obtain the isosurface,
    high values filters noise particles.
  • opacity: changes the final alpha value of the
    mesh for blending (transparency) effects.
  • brigtness: mix between the final color and
    full black.
  • brigtness: mix between the final color and
    gray color (0.5, 0.5, 0.5).
  • finalBlur: 2D blur used to smooth the final
    result rendered in the screen. (*)
  • spread Z: 3d variant of the particle size
    it makes a hard particle spread in the Z axis.
  • show simulation: renders the simulation as
    particles, the particle size affects this.
  • * The simulation runs around 30 fps in desktops and 20 fps
    in laptops, if it goes too slow in your browser lower the total
    particles, the spread and the final blur values in the menu.
    This would also require to activate the spreadZ flag, and
    raise the range value to clear the floating noise bubbles.

    ** High time integrator values might produce some divergences
    in the simulation when the sphere is moved by the user.
    Lower the time value to run slower time steps to avoid it.
    Framerate also might be raised disabling the interactive mode.

    *** This simulation might not work in mobile devices. :(