“Procedural noise using sparse Gabor convolution” by Lagae, Lefebvre, Drettakis and Dutré

  • ©Ares Lagae, Sylvain Lefebvre, George Drettakis, and Philip Dutré




    Procedural noise using sparse Gabor convolution



    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.


    1. Abramowitz, M., and Stegun, I. A. 1964. Handbook of Mathematical Functions with Formulas, Graphs and Mathematical Tables, ninth Dover printing ed. Dover. Google ScholarDigital Library
    2. 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 ScholarCross Ref
    3. Bracewell, R. N. 1999. The Fourier Transform and its Applications, 3rd ed. McGraw-Hill.Google Scholar
    4. Bridson, R., Houriham, J., and Nordenstam, M. 2007. Curl-noise for procedural fluid flow. ACM Trans. Graphics 26, 3, 46:1–46:3. Google ScholarDigital Library
    5. Cook, R. L., and DeRose, T. 2005. Wavelet noise. ACM Trans. Graphics 24, 3, 803–811. Google ScholarDigital Library
    6. 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 ScholarDigital Library
    7. 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 ScholarDigital Library
    8. 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 ScholarDigital Library
    9. Gabor, D. 1946. Theory of communication. J. Int. Electrical Engineers 93, 429–457.Google Scholar
    10. Goldberg, A., Zwicker, M., and Durand, F. 2008. Anisotropic noise. ACM Trans. Graphics 27, 3, 54:1–54:8. Google ScholarDigital Library
    11. 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 ScholarDigital Library
    12. Hart, J. C. 2001. Perlin noise pixel shaders. In Proc. ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, 87–94. Google ScholarDigital Library
    13. Heckbert, P. S. 1989. Fundamentals of Texture Mapping and Image Warping. Master’s thesis.Google Scholar
    14. Igehy, H. 1999. Tracing ray differentials. In Proc. ACM SIGGRAPH 1999, 179–186. Google ScholarDigital Library
    15. Kensler, A., Knoll, A., and Shirley, P. 2008. Better gradient noise. Tech. Rep. UUSCI-2008-001, SCI Institute, University of Utah.Google Scholar
    16. Knuth, D. E. 1997. The Art of Computer Programming, 3rd ed., vol. 2. Addison-Wesley. Google ScholarDigital Library
    17. 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 ScholarDigital Library
    18. Lewis, J.-P. 1984. Texture synthesis for digital painting. In Computer Graphics (Proc. ACM SIGGRAPH 84), vol. 18, 245–252. Google ScholarDigital Library
    19. Lewis, J. P. 1989. Algorithms for solid noise synthesis. In Computer Graphics (Proc. ACM SIGGRAPH 89), vol. 23, 263–270. Google ScholarDigital Library
    20. Morton, G. M. 1966. A computer oriented geodetic data base and a new technique in file sequencing. Tech. rep., IBM Ltd.Google Scholar
    21. 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
    22. Olano, M., Hart, J. C., Heidrich, W., Mark, B., and Perlin, K., 2002. Real-time shading languages. SIGGRAPH 2002 Course 36. Google ScholarDigital Library
    23. Olano, M. 2005. Modified noise for evaluation on graphics hardware. In Proc. ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, 105–110. Google ScholarDigital Library
    24. Papoulis, A., and Pillai, U. 2002. Probability, Random Variables and Stochastic Processes, 4rd ed. McGraw-Hill.Google Scholar
    25. Papoulis, A. 1971. High density shot noise and Gaussianity. J. Applied Probability 8, 1, 118–127.Google ScholarCross Ref
    26. Peachy, D. R. 1985. Solid texturing of complex surfaces. In Computer Graphics (Proc. ACM SIGGRAPH 85), vol. 19, 279–286. Google ScholarDigital Library
    27. Perlin, K., and Hoffert, E. M. 1989. Hypertexture. In Computer Graphics (Proc. ACM SIGGRAPH 89), vol. 23, 253–262. Google ScholarDigital Library
    28. Perlin, K. 1985. An image synthesizer. In Computer Graphics (Proc. ACM SIGGRAPH 85), vol. 19, 287–296. Google ScholarDigital Library
    29. Perlin, K. 2002. Improving noise. In Proc. ACM SIGGRAPH 2002, 681–682. Google ScholarDigital Library
    30. 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 ScholarDigital Library
    31. van Etten, W. C. 2005. Introduction to Random Signals and Noise. Wiley.Google Scholar
    32. van Wijk, J. J. 1991. Spot noise texture synthesis for data visualization. In Computer Graphics (Proc. ACM SIGGRAPH 91), vol. 25, 309–318. Google ScholarDigital Library
    33. Worley, S. 1996. A cellular texture basis function. In Proc. ACM SIGGRAPH 1996, 291–294. Google ScholarDigital Library
    34. 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 ScholarDigital Library

ACM Digital Library Publication:

Overview Page: