Abstract
Procedural noise functions are fundamental tools in computer graphics used for synthesizing virtual geometry and texture patterns. Ideally, a procedural noise function should be compact, aperiodic, parameterized, and randomly accessible. Traditional lattice noise functions such as Perlin noise, however, exhibit periodicity due to the axial correlation induced while hashing the lattice vertices to the gradients. In this paper, we introduce a parameterized lattice noise called prime gradient noise (PGN) that minimizes discernible periodicity in the noise while enhancing the algorithmic efficiency. PGN utilizes prime gradients, a set of random unit vectors constructed from subsets of prime numbers plotted in polar coordinate system. To map axial indices of lattice vertices to prime gradients, PGN employs Szudzik pairing, a bijection F : ℕ2 → ℕ. Compositions of Szudzik pairing functions are used in higher dimensions. At the core of PGN is the ability to parameterize noise generation though prime sequence offsetting which facilitates the creation of fractal noise with varying levels of heterogeneity ranging from homogeneous to hybrid multifractals. A comparative spectral analysis of the proposed noise with other noises including lattice noises show that PGN significantly reduces axial correlation and hence, periodicity in the noise texture. We demonstrate the utility of the proposed noise function with several examples in procedural modeling, parameterized pattern synthesis, and solid texturing.
Article PDF
Similar content being viewed by others
References
Lindenmayer, A. Mathematical models for cellular interactions in development I. Filaments with one-sided inputs. Journal of Theoretical Biology Vol. 18, No. 3, 280–299, 1968.
Perlin, K. An image synthesizer. ACM SIGGRAPH Computer Graphics Vol. 19, No. 3, 287–296, 1985.
Lagae, A.; Lefebvre, S.; Cook, R.; DeRose, T.; Drettakis, G.; Ebert, D. S.; Lewis, J. P.; Perlin, K.; Zwicker, M. A survey of procedural noise functions. Computer Graphics Forum Vol. 29, No. 8, 2579–2600, 2010.
Planetside Software. Perlin 3D scalar. 2020. Available at https://planetside.co.uk/wiki/index.php?title=Perlin_3D_Scalar.
Unity. Mathf.perlinnoise. 2020. Available at https://docs.unity3d.com/ScriptReference/Mathf.PerlinNoise.html.
Perlin, K. Improving noise. ACM Transactions on Graphics Vol. 21, No. 3, 681–682, 2002.
Kensler, A.; Knoll, A.; Shirley, P. Better gradient noise. SCI Institute Technical Report, UUSCI-2008-001, 2008.
Ebert, D. S.; Musgrave, F. K.; Peachey, D.; Perlin, K.; Worley, S. Texturing and Modeling: A Procedural Approach, 3rd edn. Morgan Kaufmann, 2003.
Vinogradov, I. M. Selected Works. Springer-Verlag Berlin Heidelberg, 1985.
Szudzik, M. An elegant pairing function. In: Proceedings of the NKS Wolfram Science Conference, 2006.
Wei, L. Y. Tile-based texture mapping on graphics hardware. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, 55–63, 2004.
Kirillov, A. Non-periodic tiling of procedural noise functions. Proceedings of the ACM on Computer Graphics and Interactive Techniques Vol. 1, No. 2, 1–15, 2018.
Olano, M. Modified noise for evaluation on graphics hardware. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, 105–110, 2005.
Hart, J.; Carr, N.; Kameya, M.; Tibbitts, S.; Coleman, T. Antialiased parameterized solid texturing simplified for consumer-level hardware implementation. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, 45–53, 1999.
Hart, J. C. Perlin noise pixel shaders. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware, 87–94, 2001.
Rost. R. OpenGL Shading Language, 2nd edn. AddisonWesley Professional, 2006.
Spjut, J. B.; Kensler, A. E.; Brunvand, E. L. Hardware-accelerated gradient noise for graphics. In: Proceedings of the 19th ACM Great Lakes Symposium on VLSI, 457–462, 2009.
Perlin, K.; Neyret, F. Flow noise. SIGGRAPH Technical Sketches and Applications, 187, 2001.
Bridson, R.; Houriham, J.; Nordenstam, M. Curl-noise for procedural fluid flow. In: Proceedings of the ACM SIGGRAPH 2007 Papers, 46-es, 2007.
Thorimbert, Y.; Chopard, B. Polynomial methods for fast procedural terrain generation. arXiv preprint arXiv:1610.03525, 2016.
Wyvill, G.; Novins, K. Filtered noise and the fourth dimension. In: Proceedings of the ACM SIGGRAPH 99 Conference Abstracts and Applications, 242, 1999.
Olano, M., Akeley, K., Hart, J. C., Heidrich, W., McCool, M., Mitchell, J. L.; Rost, R. Real-time shading. In: Proceedings of the SIGGRAPH 2004 Course Notes, 1-es, 2004.
Worley, S. A cellular texture basis function. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, 291–294, 1996.
Lewis, J. P. Texture synthesis for digital painting. In: Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques, 245–252, 1984.
Lewis, J. P. Methods for stochastic spectral synthesis. In: Proceedings on Graphics Interface’ 86/Vision Interface’ 86, 173–179, 1986.
Lewis, J. P. Algorithms for solid noise synthesis. ACM SIGGRAPH Computer Graphics Vol. 23, No. 3, 263–270, 1989.
Van Wijk, J. J. Spot noise texture synthesis for data visualization. ACM SIGGRAPH Computer Graphics Vol. 25, No. 4, 309–318, 1991.
Frisvad, J. R.; Wyvill, G. Fast high-quality noise. In: Proceedings of the 5th International Conference on Computer Graphics and Interactive Techniques in Australia and Southeast Asia, 243–248, 2007.
Gilet, G.; Sauvage, B.; Vanhoey, K.; Dischler, J. M.; Ghazanfarpour, D. Local random-phase noise for procedural texturing. ACM Transactions on Graphics Vol. 33, No. 6, Article No. 195, 2014.
Galerne, B.; Leclaire, A.; Moisan, L. Texton noise. Computer Graphics Forum Vol. 36, No. 8, 205–218, 2017.
Lagae, A.; Lefebvre, S.; Drettakis, G.; Dutre, P. Procedural noise using sparse Gabor convolution. ACM Transactions on Graphics Vol. 28, No. 3, Article No. 54, 2009.
Lagae, A.; Lefebvre, S.; Dutre, P. Improving gabor noise. IEEE Transactions on Visualization and Computer Graphics Vol. 17, No. 8, 1096–1107, 2011.
Lagae, A.; Drettakis, G. Filtering solid Gabor noise. ACM Transactions on Graphics Vol. 30, No. 4, Article No. 51, 2011.
Galerne, B.; Lagae, A.; Lefebvre, S.; Drettakis, G. Gabor noise by example. ACM Transactions on Graphics Vol. 31, No. 4, Article No. 73, 2012.
Bénard, P.; Lagae, A.; Vangorp, P.; Lefebvre, S.; Drettakis, G.; Thollot, J. NPR Gabor noise for coherent stylization. In: Proceedings of the ACM SIGGRAPH 2010 Talks, Article No. 40, 2010.
Tricard, T.; Efremov, S.; Zanni, C.; Neyret, F.; Martínez, J.; Lefebvre, S. Procedural phasor noise. ACM Transactions on Graphics Vol. 38, No. 4, Article No. 57, 2019.
Cook, R. L.; DeRose, T. Wavelet noise. ACM Transactions on Graphics Vol. 24, No. 3, 803–811, 2005.
Goldberg, A.; Zwicker, M.; Durand, F. Anisotropic noise. In: Proceedings of the ACM SIGGRAPH 2008 Papers, Article No. 54, 2008.
Fournier, A.; Fussell, D.; Carpenter, L. Computer rendering of stochastic models. Communications of the ACM Vol. 25, No. 6, 371–384, 1982.
Lewis, J. P. Generalized stochastic subdivision. ACM Transactions on Graphics Vol. 6, No. 3, 167–190, 1987.
Kwatra, V.; Essa, I.; Bobick, A.; Kwatra, N. Texture optimization for example-based synthesis. ACM Transactions on Graphics Vol. 24, No. 3, 795–802, 2005.
Sendik, O.; Cohen-Or, D. Deep correlations for texture synthesis. ACM Transactions on Graphics Vol. 36, No. 5, Article No. 161, 2017.
Zhou, Y.; Zhu, Z.; Bai, X.; Lischinski, D.; Cohen-Or, D.; Huang, H. Non-stationary texture synthesis by adversarial expansion. ACM Transactions on Graphics Vol. 37, No. 4, Article No. 49, 2018.
Liu, J.; Gan, Y. H.; Dong, J. Y.; Qi, L.; Sun, X.; Jian, M. W.; Wang, L.; Yu, H. Perception-driven procedural texture generation from examples. Neurocomputing Vol. 291, 21–34, 2018.
Guehl, P.; Allègre, R.; Dischler, J. M.; Benes, B.; Galin, E. Semi-procedural textures using point process texture basis functions. Computer Graphics Forum Vol. 39, No. 4, 159–171, 2020.
Zsolnai-Fehér, K.; Wonka, P.; Wimmer, M. Gaussian material synthesis. ACM Transactions on Graphics Vol. 37, No. 4, Article No. 76, 2018.
Kuipers, L.; Niederreiter, H. Uniform Distribution of Sequences. John Wiley & Sons, Inc., 1974.
Forbes, T. Reviewed Work: Prime Numbers: A Computational Perspective by Richard Crandall, Carl Pomerance. The Mathematical Gazette, Vol. 86, No. 507, 552–554, 2002.
Weisstein, E. W. Sphere point picking. Available at https://mathworld.wolfram.com/SpherePointPicking.html.
Szudzik, M. P. The Rosenberg-strong pairing function. arXiv preprint arXiv: 1706.04129, 2017.
Fisher, R. A.; Yates, F. Statistical tables for biological, agricultural, and medical research. Journal of the Institute of Actuaries Vol. 90, No. 3, 370–370, 1963.
Acknowledgements
This work is supported by the National Science and Engineering Research Council of Canada (NSERC) Discovery Grant No. 2019-05092.
Author information
Authors and Affiliations
Corresponding author
Additional information
Sheldon Taylor was awarded a B.S. degree in computer science in 2020 plus a B.Comm. degree in accounting in 2016, both from Saint Mary’s University, Halifax, Canada. He is currently a software engineer at Amazon where he works on S3. His research interests include procedural noise generation along with distributed and decentralized computing.
Owen Sharpe holds his B.S. degree in mathematics from Saint Mary’s University. He is currently researching procedural noise and medial skeleton construction with the Graphics and Spatial Computing Lab at Saint Mary’s (led by Dr. Jiju Peethambaran).
Jiju Peethambaran received his bachelor degree in information technology from the University of Calicut, Kerala, India, his master degree in computer science from the National Institute of Technology, Karnataka, Mangalore, India, and his Ph.D. degree in computational geometry from the Indian Institute of Technology Madras, Chennai, India. He is currently an assistant professor in the Department of Mathematics and Computing Science, Saint Mary’s University, Halifax, Canada. His research interests include computer graphics and computer vision, especially point cloud processing and geometric modeling.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made.
The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
Other papers from this open access journal are available free of charge from http://www.springer.com/journal/41095. To submit a manuscript, please go to https://www.editorial-manager.com/cvmj.
About this article
Cite this article
Taylor, S., Sharpe, O. & Peethambaran, J. Prime gradient noise. Comp. Visual Media 7, 349–362 (2021). https://doi.org/10.1007/s41095-021-0206-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41095-021-0206-z