N.B. One drawback of lattice gradient noise is that the output is 0.0 at the lattice points. One trick used to avoid this artifact is to rotate your coordinate system in a higher dimension. If you want 3D noise, rotate your 3D space and take a slice through 4D.<p>Similarly you need to be careful of artifact when generating fractional brownian motion. I believe it was Worley who suggested rotating/translating your coordinate system for each octave.<p>As part of a map making project I need noise, so I wrapped toxiclibs noise code up to make it nicer in clojure. (<a href="http://github.com/bhickey/pandaemonium" rel="nofollow">http://github.com/bhickey/pandaemonium</a> LGPL, contributions welcome!) I plan on implementing this all on the GPU when I get a chance.<p>Coherent noise is fun: <a href="http://imgur.com/Y92QJ.png" rel="nofollow">http://imgur.com/Y92QJ.png</a>
"Now you have 2n of these values. Interpolate between them down to your point, using an S-shaped cross-fade curve (eg: 3t^2-2t^3) to weight the interpolant in each dimension. This step will require computing n S curves, followed by 2n-1 linear interpolations"<p>I don't get this part. If it's 2D and I have 4 grid points, how does that figure into the S-shaped cross-fade curve? ie, I see a parametric function with time, but I'm not sure where the grid point dot products figure into it.<p>Anyone care to illuminate, or point me to some article?
> The technique is called hypertexture, officially because it is texture in a higher dimension, but actually because the word sounds like "hypertexture"<p>i'd love to know what this means.