Simplex Noise

HTML

<script src="https://rawgithub.com/jwagner/simplex-noise.js/master/simplex-noise.js"></script>
<canvas id="c" width=256 height=256 style="width:512px;height:512px;"></canvas>

JavaScript

var simplex = new SimplexNoise(),
    canvas = document.getElementById('c'),
    t = 0;

var draw = function() {
  ctx = canvas.getContext('2d');
      imgdata = ctx.getImageData(0, 0, canvas.width, canvas.height);
      data = imgdata.data;
  for (var x = 0; x < 256; x++) {
      for (var y = 0; y < 256; y++) {
          var r = simplex.noise3D(x / 128, y / 128, t/128) * 0.5 + 0.5;
          data[(x + y * 256) * 4 + 0] = r * 255;
          data[(x + y * 256) * 4 + 1] = r * 255;
          data[(x + y * 256) * 4 + 2] = r * 255;
          data[(x + y * 256) * 4 + 3] = 255;
      }
  }
  t++;
	ctx.putImageData(imgdata, 0, 0);
}
draw()