Because my original Perlin noise thread went a bit off-topic after 20 replies, here's a new thread announcing the very first (to my knowledge) implementation of Perlin simplex noise in a fragment shader.

Simplex noise is better looking AND faster, and a true derivative can be computed without much extra work. I kept the classic noise in there too for comparison. The code is also cleaned up and commented some more.

ZIP file with Win32 executable and full source

As before, I'm developing on really low end hardware, so please post your frame rates if you have anything better than my GeForce 5600XT.

I scrapped the teapot, that code was CPU limited and didn't do the shader justice. Just start the program, look at the rotating noise-textured sphere and tell me what the FPS counter in the title bar says.

On a side note, that reference implementation Java code from Ken Perlin was REALLY hard to understand! I ended up reading his paper instead and doing everything from scratch.