Noise is dead, long live noise! August 31, 2008
Posted by winden in coding, demoscene.trackback
Apparently Perlin noise, even the real Ken Perlin one that no demoscener ever uses due to being too compute intensive, is long dead in the high end and has been replaced by wavelet noise.
What I find really amazing is that all these variants shown on the paper describing good noise look somewhat different to the naked eye but are amazingly different when analyzed via frequencies at page 7.
I think it may be cool to try doing inverse noise synthesis by creating an spectral texture and doing an inverse frequency transform, something that I remember hearing was sometimes done for sound synthesis.
ps. paper found via the Pixar online library
well, actually the first terrain generations algorithms were spectral (IFFT as you say), but they were very quickly discarded cause they are slow. It is often used too for simulating ocean surfaces, that’s what many films and movies still do today for water effects. Then problem in this case is that IFFT basically generates periodic surfacs (tileable), what is not good in many applications (http://www.vterrain.org/Elevation/Artificial)
The last general problem of spectral synthesis is that it’s not procedural (you cannot evaluate the function at any point you want, but have to calculate it on a bitmap first) so it’s not good for many shaders, and definitely does not scale to high resolutions (while a procedural function doesn’t have any of these problems). Random link, just to name one of the many variations: http://ati.amd.com/developer/Mitchell-Real-Time_Synthesis_and_Rendering_of_Ocean_Water(ATITR_Apr05).pdf
AFAIK, even in sound processing IIFT is not that much used, although it makes perhaps more sense than in graphics, cause the sampling frequency is often fixed and well known (44100) whie in graphics the sampling frequency is variable (if it’sa texture it can be 256 or 4096) or even completelly unkown and different (in procedural rendering)s for each pixel of the screen (as it is the case in a shader applied to different objects in the screen).
As for the wavelet noise, it has been around for one or two years now, but I have not seen it yet adopted by the comunity, we will see what happens.
Also, http://local.wasp.uwa.edu.au/~pbourke/modelling_rendering/planets