I have done a huge ton of reading up on Simplex Noise now, and after a lot of confusion and headaches I think I am able to form an idea of how Simplex Noise works now.

Am I right, that simplex noise (2D) is just a grid build of Simplexes, in this case triangles, where at every corner of a triangle there is a value between 0 and 1. When you ask the algorithm for a point it'll convert the 2D coordinates to the simplex grid coordinates, interpolate the noise and then return the actual value?


Yes. But there is slight mistake. In simplex noise, the resulting value is summed from its contributing coordinates. Perlin noise is using interpolation.

Edit: If we look at Simplex noise demystified, then final value is calculated as :

return 70.0 * (n0 + n1 + n2);

And according to comment, the resulting values are in range [-1;1]

  • Doesn't this mean that the value returned can be higher than 1? Or is it literally (corner1 + corner2 + corner3) / 3?
    – Jeroen
    Sep 7 '13 at 14:31
  • @Binero No and yes, see my edit.
    – Euphoric
    Sep 7 '13 at 15:40
  • Is there a reason for it to be -1 to 1 though? I can't see why it shouldn't work with 0 to 1.
    – Jeroen
    Sep 7 '13 at 16:36
  • @Binero It is probably because it is easier to compute. You can still transform easily by calculating (x+1)/2 to get it to [0;1] range.
    – Euphoric
    Sep 7 '13 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.