Abstract
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.
Supplemental Material
Available for Download
The auxiliary file contains: 'paper_0042_auxiliary_material.pdf': auxiliary material 'paper_0042_example_code.zip': archive with example code (please refer to 'noise.cpp' in the archive)
- Abramowitz, M., and Stegun, I. A. 1964. Handbook of Mathematical Functions with Formulas, Graphs and Mathematical Tables, ninth Dover printing ed. Dover. Google Scholar
Digital Library
- Borosh, I., and Niederreiter, H. 1983. Optimal multipliers for pseudo-random number generation by the linear congruential method. BIT Numerical Mathematics 23, 1, 65--74.Google Scholar
Cross Ref
- Bracewell, R. N. 1999. The Fourier Transform and its Applications, 3rd ed. McGraw-Hill.Google Scholar
- Bridson, R., Houriham, J., and Nordenstam, M. 2007. Curl-noise for procedural fluid flow. ACM Trans. Graphics 26, 3, 46:1--46:3. Google Scholar
Digital Library
- Cook, R. L., and DeRose, T. 2005. Wavelet noise. ACM Trans. Graphics 24, 3, 803--811. Google Scholar
Digital Library
- Ebert, D. S., Musgrave, F. K., Peachey, D., Perlin, K., and Worley, S. 2002. Texturing and Modeling: A Procedural Approach, 3rd ed. Morgan Kaufmann Publishers, Inc. Google Scholar
Digital Library
- Fisher, M., Schröder, P., Desbrun, M., and Hoppe, H. 2007. Design of tangent vector fields. ACM Trans. Graphics 26, 3, 56:1--56:9. Google Scholar
Digital Library
- Frisvad, J. R., and Wyvill, G. 2007. Fast high-quality noise. In Proc. 5th international conference on Computer graphics and interactive techniques, 243--248. Google Scholar
Digital Library
- Gabor, D. 1946. Theory of communication. J. Int. Electrical Engineers 93, 429--457.Google Scholar
- Goldberg, A., Zwicker, M., and Durand, F. 2008. Anisotropic noise. ACM Trans. Graphics 27, 3, 54:1--54:8. Google Scholar
Digital Library
- Hart, J. C., Carr, N., and Kameya, M. 1999. Antialiased parameterized solid texturing simplified for consumerlevel hardware implementation. In Proc. ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, 45--53. Google Scholar
Digital Library
- Hart, J. C. 2001. Perlin noise pixel shaders. In Proc. ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, 87--94. Google Scholar
Digital Library
- Heckbert, P. S. 1989. Fundamentals of Texture Mapping and Image Warping. Master's thesis.Google Scholar
- Igehy, H. 1999. Tracing ray differentials. In Proc. ACM SIGGRAPH 1999, 179--186. Google Scholar
Digital Library
- Kensler, A., Knoll, A., and Shirley, P. 2008. Better gradient noise. Tech. Rep. UUSCI-2008-001, SCI Institute, University of Utah.Google Scholar
- Knuth, D. E. 1997. The Art of Computer Programming, 3rd ed., vol. 2. Addison-Wesley. Google Scholar
Digital Library
- Lefebvre, S., Hornus, S., and Neyret, F. 2005. Texture sprites: Texture elements splatted on surfaces. In Proc. 2005 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, 163--170. Google Scholar
Digital Library
- Lewis, J.-P. 1984. Texture synthesis for digital painting. In Computer Graphics (Proc. ACM SIGGRAPH 84), vol. 18, 245--252. Google Scholar
Digital Library
- Lewis, J. P. 1989. Algorithms for solid noise synthesis. In Computer Graphics (Proc. ACM SIGGRAPH 89), vol. 23, 263--270. Google Scholar
Digital Library
- Morton, G. M. 1966. A computer oriented geodetic data base and a new technique in file sequencing. Tech. rep., IBM Ltd.Google Scholar
- Navarro, R., and Portilla, J. 1996. Robust method for texture synthesis-by-analysis based on a multiscale Gabor scheme. In Proc. SPIE, 86--97.Google Scholar
- Olano, M., Hart, J. C., Heidrich, W., Mark, B., and Perlin, K., 2002. Real-time shading languages. SIGGRAPH 2002 Course 36. Google Scholar
Digital Library
- Olano, M. 2005. Modified noise for evaluation on graphics hardware. In Proc. ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, 105--110. Google Scholar
Digital Library
- Papoulis, A., and Pillai, U. 2002. Probability, Random Variables and Stochastic Processes, 4rd ed. McGraw-Hill.Google Scholar
- Papoulis, A. 1971. High density shot noise and Gaussianity. J. Applied Probability 8, 1, 118--127.Google Scholar
Cross Ref
- Peachy, D. R. 1985. Solid texturing of complex surfaces. In Computer Graphics (Proc. ACM SIGGRAPH 85), vol. 19, 279--286. Google Scholar
Digital Library
- Perlin, K., and Hoffert, E. M. 1989. Hypertexture. In Computer Graphics (Proc. ACM SIGGRAPH 89), vol. 23, 253--262. Google Scholar
Digital Library
- Perlin, K. 1985. An image synthesizer. In Computer Graphics (Proc. ACM SIGGRAPH 85), vol. 19, 287--296. Google Scholar
Digital Library
- Perlin, K. 2002. Improving noise. In Proc. ACM SIGGRAPH 2002, 681--682. Google Scholar
Digital Library
- Tzeng, S., and Wei, L.-Y. 2008. Parallel white noise generation on a GPU via cryptographic hash. In Proc. 2008 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, 79--87. Google Scholar
Digital Library
- van Etten, W. C. 2005. Introduction to Random Signals and Noise. Wiley.Google Scholar
- van Wijk, J. J. 1991. Spot noise texture synthesis for data visualization. In Computer Graphics (Proc. ACM SIGGRAPH 91), vol. 25, 309--318. Google Scholar
Digital Library
- Worley, S. 1996. A cellular texture basis function. In Proc. ACM SIGGRAPH 1996, 291--294. Google Scholar
Digital Library
- Zhang, E., Hays, J., and Turk, G. 2007. Interactive tensor field design and visualization on surfaces. IEEE Trans. Visualization and Computer Graphics 13, 1, 94--107. Google Scholar
Digital Library
Index Terms
Procedural noise using sparse Gabor convolution
Recommendations
Wavelet noise
Noise functions are an essential building block for writing procedural shaders in 3D computer graphics. The original noise function introduced by Ken Perlin is still the most popular because it is simple and fast, and many spectacular images have been ...
Procedural noise using sparse Gabor convolution
SIGGRAPH '09: ACM SIGGRAPH 2009 papersNoise 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 ...
Non-periodic Tiling of Procedural Noise Functions
Procedural noise functions have many applications in computer graphics, ranging from texture synthesis to atmospheric effect simulation or to landscape geometry specification. Noise can either be precomputed and stored into a texture, or evaluated ...





Comments