Friday, December 1, 2006

4D Perlin Noise in real time on GPU

A few months ago, i needed to generate noise in the pixel shader and i remembered a nice program to visualize noise in volume called HyperTexture (Author: Ondrej Jamriska, bottom of the page).

The original program use a 32x32x32 volume texture to generate the sphere. I thought it would be great if we could visualize noise in 4D but at that time hardware was no enough powerful.

My program render Noise ( Turbulence, Ridge MultiFractal, Marble, ...) using a modified 4D Perlin Simplex noise function in the pixel shader. (Original Simplex Noise shader code from Stefan Gustavson ). The volume is rendered with an axis aligned Quads list and Noise is generated each frame since it's 4D.