ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2009), 28(3):54-64, 2009.

Procedural Noise using Sparse Gabor Convolution

Ares Lagae* Sylvain Lefebvre+ George Drettakis+ Philip Dutré*
*Katholieke Universiteit Leuven +REVES / INRIA Sophia-Antipolis


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.



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

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.


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.


Example Code
Auxiliary Material

Ares Lagae, Sylvain Lefebvre, George Drettakis and Philip Dutré Last updated on: