Originally shared by Daniel Garcia
All these videos are running the same code. The only difference are values for flags controlling 8 or 16 bit noise, how many octaves, the scale for the x&y axis, and how fast to advance along the a axis. (And toggling between if hue cycles via noise or not).
I can’t wait to get a playground program for people out there to play with. It’s fantastic, to me, the variety of things I can pull out of here.
And I really can’t wait to see locus lit up now.
So far, everywhere I look online, when I see people asking/talking about using perlin (or its successor, simplex) noise on arduino, the response is almost universally “compute a few points using the noise functions, then interpolate between them for the rest of your points.”
With this code - you can compute simplex noise for every point, while still maintaining 15-51fps on a 256 pixel array (based on how many octaves you’re using) - and that’s if you’re using 3d noise to fill/animate a 2d matrix. If you’re using 2d noise, then it’s more like 30-100fps on a 256 pixel array.
I think this has the potential to change things up a lot for people who are still doing led work on 8-bit platforms like the AVRs. I’m also hoping to turn my eye to some arm based optimizations to allow for even higher frame counts/numbers of leds next.










