I've been trying to implement Perlin Noise in GLSL. Using vispy for this project, so that is GLSL version 1.20. I made 2D work just fine. Next I wanted to animate it, so I tried to do it in 3D, rendering planes of the 3D perlin noise where z = time. However, the animation through time doesn't look quite smooth: it is characterized by a kind of pulse. You can see it here: http://imgur.com/a/korBl (2 gifs, about 6 MB each).

Here's my fragment shader: https://bpaste.net/show/0849df082fc3

I suspect there's maybe something wrong with tri-linear interpolation starting at line 93. Also pay attention to the 'fade' function on line 37. The pseudo-random hash function is a modification of this for 3 dimentions. Or is this actually how perlin noise does behave?