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, 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.
In A Dynamic Noise Primitive for Coherent Stylization, we
present a new primitive for NPR based on Gabor noise, that
preserves the 2D aspect of noise, conveys the 3D motion of the
scene, and is temporally continuous.