I’m playing with an 8x8 panel of ws2812 LEDs, the idea is to create a nice-looking display which cross-fades warm colours. It’s sort-of working. I’m not happy with the way the colours are faded / interpolated. In reality it looks a bit better than on this video, the transitions are not as choppy / discrete.
One other thing which nags me is that with the current code (at https://gist.github.com/ivoras/bdeae148df082e9db5f92a02b2a3516e), the fades look like they are pulsing / cycling. I have 3 pixel arrays: the “display buffer” one, the source one, and the target one. I pick the target pixels randomly, then set the “display buffer” to a linear interpolation between the two, then when it’s finished I choose a different set of target pixels. So, there should always be some pixels which are fading in brightness and some which are gaining, but I’m not seeing it - it looks like sometimes pixels are only fading up and sometimes they are fading down, there don’t seem to be any which are simultaneously fading up while others are fading down.
Any pointers to how effects like the one I’d like are created?
https://www.youtube.com/watch?v=Htp4Cj51RLU