Noise is an essential tool for texturing and modeling. Designing interesting
textures with noise calls for accurate spectral control, since noise is best
described in terms of spectral content. Texturing requires that noise can be
easily mapped to a surface, while high-quality rendering requires anisotropic
filtering. A noise function that is procedural and fast to evaluate offers
several additional advantages. Unfortunately, no existing noise combines all of
these properties.
In this paper we introduce a noise based on sparse convolution and the Gabor
kernel that enables all of these properties. Our noise offers accurate spectral
control with intuitive parameters such as orientation, principal frequency and
bandwidth. Our noise supports two-dimensional and solid noise, but we also
introduce setup-free surface noise. This is a method for mapping noise onto a
surface, complementary to solid noise, that maintains the appearance of the
noise pattern along the object and does not require a texture parameterization.
Our approach requires only a few bytes of storage, does not use discretely
sampled data, and is nonperiodic. It supports anisotropy and anisotropic
filtering. We demonstrate our noise using an interactive tool for noise design.
Video
iGaborNoise
iGaborNoise is the iPhone demo App for this project.
iGaborNoise is available on the App Store.
Click the badge on the left to open iTunes and locate iGaborNoise in the App Store.
For more information, visit www.GaborNoise.com.
Commercial Use
Commercial use of our method is possible. We have even released example code to get your company started. However, if your company uses our method, we would like to know. In case your company needs help, we have prepared a lightweight technology transfer opportunity involving access to the source code of our prototype and consulting from the main author(s). Feel free to contact us.
Errata
Equations 19, 20, 21 and 22 contain errors. We have corrected these errors and updated the PDF of the paper below (changes are marked in blue). Thanks to Brian Smits for pointing this out.
Related Work
In Improving Gabor Noise, available here, we present three significant improvements to Gabor noise: (1) an isotropic kernel for Gabor noise, which speeds up isotropic Gabor noise with a factor of roughly two, (2) an error analysis of Gabor noise, which relates the kernel truncation radius to the relative error of the noise, and (3) spatially varying Gabor noise, which enables spatial variation of all noise parameters.