Abstract
Procedural pattern synthesis is a fundamental tool of Computer Graphics, ubiquitous in games and special effects. By calling a single procedure in every pixel - or voxel - large quantities of details are generated at low cost, enhancing textures, producing complex structures within and along surfaces. Such procedures are typically implemented as pixel shaders.
We propose a novel procedural pattern synthesis technique that exhibits desirable properties for modeling highly contrasted patterns, that are especially well suited to produce surface and microstructure details. In particular, our synthesizer affords for a precise control over the profile, orientation and distribution of the produced stochastic patterns, while allowing to grade all these parameters spatially.
Our technique defines a stochastic smooth phase field - a phasor noise - that is then fed into a periodic function (e.g. a sine wave), producing an oscillating field with prescribed main frequencies and preserved contrast oscillations. In addition, the profile of each oscillation is directly controllable (e.g. sine wave, sawtooth, rectangular or any 1D profile). Our technique builds upon a reformulation of Gabor noise in terms of a phasor field that affords for a clear separation between local intensity and phase.
Applications range from texturing to modeling surface displacements, as well as multi-material microstructures in the context of additive manufacturing.
Supplemental Material
Available for Download
Supplemental material
- David S Ebert, F Kenton Musgrave, Darwyn Peachey, Ken Perlin, and Steven Worley. 2003. Texturing & modeling: a procedural approach. Morgan Kaufmann. Google ScholarDigital Library
- Bruno Galerne, Ares Lagae, Sylvain Lefebvre, and George Drettakis. 2012. Gabor Noise by Example. ACM Trans. Graph. 31, 4, Article 73 (July 2012), 9 pages. Google ScholarDigital Library
- Guillaume Gilet, Jean-Michel Dischler, and Luc Soler. 2010. Procedural Descriptions of Anisotropic Noisy Textures by Example. In Eurographics 2010 - Short Papers. The Eurographics Association.Google Scholar
- Guillaume Gilet, Basile Sauvage, Kenneth Vanhoey, Jean-Michel Dischler, and Djamchid Ghazanfarpour. 2014. Local Random-phase Noise for Procedural Texturing. ACM Trans. Graph. 33, 6, Article 195 (Nov. 2014), 11 pages. Google ScholarDigital Library
- Geoffrey Guingo, Basile Sauvage, Jean-Michel Dischler, and Marie-Paule Cani. 2017. Bi-Layer textures: a Model for Synthesis and Deformation of Composite Textures. Computer Graphics Forum 36, 4 (2017), 111--122. Google ScholarDigital Library
- Felix Knöppel, Keenan Crane, Ulrich Pinkall, and Peter Schröder. 2015. Stripe Patterns on Surfaces. ACM Transactions on Graphics 34 (2015). Issue 4. Google ScholarDigital Library
- Ares Lagae and George Drettakis. 2011. Filtering Solid Gabor Noise. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2011) 30, 4 (July 2011), 51:1--51:6. Google ScholarDigital Library
- Ares Lagae, Sylvain Lefebvre, Rob Cook, Tony Derose, George Drettakis, David S. Ebert, J.P. Lewis, Ken Perlin, and Matthias Zwicker. 2010. A Survey of Procedural Noise Functions. Computer Graphics Forum 29, 8 (2010), 2579--2600.Google ScholarCross Ref
- Ares Lagae, Sylvain Lefebvre, George Drettakis, and Philip Dutré. 2009. Procedural Noise using Sparse Gabor Convolution. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2009) 28, 3 (July 2009), 54--64. Google ScholarDigital Library
- Ares Lagae, Sylvain Lefebvre, and Philip Dutré. 2011. Improving Gabor noise. IEEE Transactions on Visualization and Computer Graphics (2011). http://www-sop.inr.ia.fr/reves/Basilic/2011/LLD11 Google ScholarDigital Library
- John-Peter Lewis. 1984. Texture Synthesis for Digital Painting. In Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '84). ACM, New York, NY, USA, 245--252. Google ScholarDigital Library
- J P Lewis. 1986. Methods for Stochastic Spectral Synthesis. In Proceedings on Graphics Interface '86/Vision Interface '86. Canadian Information Processing Society, Toronto, Ont., Canada, Canada, 173--179. http://dl.acm.org/citation.cfm?id=16564.16594 Google ScholarDigital Library
- Marco Livesu, Stefano Ellero, Jonàs Martínez, Sylvain Lefebvre, and Marco Attene. 2017. From 3D Models to 3D Prints: An Overview of the Processing Pipeline. Computer Graphics Forum 36 (2017), 537--564. Google ScholarCross Ref
- Jonàs Martínez, Haichuan Song, Jérémie Dumas, and Sylvain Lefebvre. 2017. Orthotropic K-nearest Foams for Additive Manufacturing. ACM Trans. Graph. 36, 4, Article 121 (July 2017), 12 pages. Google ScholarDigital Library
- Fabrice Neyret and Eric Heitz. 2016. Understanding and controlling contrast oscillations in stochastic texture algorithms using Spectrum of Variance. Research Report. LJK / Grenoble University - INRIA. 8 pages. https://hal.inria.fr/hal-01349134Google Scholar
- Vincent Tavernier, Fabrice Neyret, Romain Vergne, and Joëlle Thollot. 2019. Making Gabor Noise Fast and Normalized. In EG 2019 - Short Papers. The Eurographics Association. https://hal.inria.fr/hal-02104389Google Scholar
- Kiril Vidimce, Alexandre Kaspar, Ye Wang, and Wojciech Matusik. 2016. Foundry: Hierarchical material design for multi-material fabrication. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology. ACM, 563--574. Google ScholarDigital Library
- Kiril Vidimče, Szu-Po Wang, Jonathan Ragan-Kelley, and Wojciech Matusik. 2013. OpenFab: a programmable pipeline for multi-material fabrication. ACM Transactions on Graphics (TOG) 32, 4 (2013), 136. Google ScholarDigital Library
Index Terms
- Procedural phasor noise
Recommendations
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 ...
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 ...
Procedural isotropic stochastic textures by example
Image textures can easily be created using texture synthesis by example. However, creating procedural textures is much more difficult. This is unfortunate, since procedural textures have significant advantages over image textures. In this paper we ...
Comments