{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,20]],"date-time":"2026-05-20T01:57:09Z","timestamp":1779242229159,"version":"3.51.4"},"reference-count":28,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2018,8,24]],"date-time":"2018-08-24T00:00:00Z","timestamp":1535068800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Comput. Graph. Interact. Tech."],"published-print":{"date-parts":[[2018,8,24]]},"abstract":"<jats:p>We propose a new by-example noise algorithm that takes as input a small example of a stochastic texture and synthesizes an infinite output with the same appearance. It works on any kind of random-phase inputs as well as on many non-random-phase inputs that are stochastic and non-periodic, typically natural textures such as moss, granite, sand, bark, etc. Our algorithm achieves high-quality results comparable to state-of-the-art procedural-noise techniques but is more than 20 times faster.<\/jats:p>\n          <jats:p>Our approach is conceptually simple: we partition the output texture space on a triangle grid and associate each vertex with a random patch from the input such that the evaluation inside a triangle is done by blending 3 patches. The key to this approach is the blending operation that usually produces visual artifacts such as ghosting, softened discontinuities and reduced contrast, or introduces new colors not present in the input. We analyze these problems by showing how linear blending impacts the histogram and show that a blending operator that preserves the histogram prevents these problems.<\/jats:p>\n          <jats:p>The main requirement for a rendering application is to implement such an operator in a fragment shader without further post-processing, i.e. we need a histogram-preserving blending operator that operates only at the pixel level. Our insight for the design of this operator is that, with Gaussian inputs, histogram-preserving blending boils down to mean and variance preservation, which is simple to obtain analytically. We extend this idea to non-Gaussian inputs by \"Gaussianizing\" them with a histogram transformation and \"de-Gaussianizing\" them with the inverse transformation after the blending operation. We show how to precompute and store these histogram transformations such that our algorithm can be implemented in a fragment shader.<\/jats:p>","DOI":"10.1145\/3233304","type":"journal-article","created":{"date-parts":[[2018,8,24]],"date-time":"2018-08-24T12:02:38Z","timestamp":1535112158000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":36,"title":["High-Performance By-Example Noise using a Histogram-Preserving Blending Operator"],"prefix":"10.1145","volume":"1","author":[{"given":"Eric","family":"Heitz","sequence":"first","affiliation":[{"name":"Unity Technologies"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fabrice","family":"Neyret","sequence":"additional","affiliation":[{"name":"CNRS\/LJK, Inria"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,8,24]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Nicolas Bonneel. 2016. FastTransport. http:\/\/liris.cnrs.fr\/nbonneel\/FastTransport\/.  Nicolas Bonneel. 2016. FastTransport. http:\/\/liris.cnrs.fr\/nbonneel\/FastTransport\/."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2070781.2024192"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/882262.882265"},{"key":"e_1_2_1_4_1","doi-asserted-by":"crossref","unstructured":"Luc Devroye. 1986. Non-Uniform Random Variate Generation.  Luc Devroye. 1986. Non-Uniform Random Variate Generation.","DOI":"10.1007\/978-1-4613-8643-8"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/383259.383296"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185569"},{"key":"e_1_2_1_7_1","doi-asserted-by":"crossref","unstructured":"B. Galerne A. Leclaire and L. Moisan. 2017a. Texton Noise. Computer Graphics Forum (2017).  B. Galerne A. Leclaire and L. Moisan. 2017a. Texton Noise. Computer Graphics Forum (2017).","DOI":"10.1111\/cgf.13073"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-68445-1_12"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00371-012-0711-2"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2661229.2661249"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/218380.218446"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1183287.1183296"},{"key":"e_1_2_1_13_1","volume-title":"State of the Art in Procedural Noise Functions. In EG 2010 - State of the Art Reports.","author":"Lagae Ares","year":"2010","unstructured":"Ares Lagae , Sylvain Lefebvre , Rob Cook , Tony DeRose , George Drettakis , D.S. Ebert , J.P. Lewis , Ken Perlin , and Matthias Zwicker . 2010 . State of the Art in Procedural Noise Functions. In EG 2010 - State of the Art Reports. Ares Lagae, Sylvain Lefebvre, Rob Cook, Tony DeRose, George Drettakis, D.S. Ebert, J.P. Lewis, Ken Perlin, and Matthias Zwicker. 2010. State of the Art in Procedural Noise Functions. In EG 2010 - State of the Art Reports."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1531326.1531360"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/800031.808605"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8655(02)00328-8"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/311535.311561"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/325334.325247"},{"key":"e_1_2_1_19_1","volume-title":"SIGGRAPH 2001 Course.","author":"Perlin Ken","year":"2001","unstructured":"Ken Perlin . 2001 . Noise hardware. Real-time shading languages , SIGGRAPH 2001 Course. Ken Perlin. 2001. Noise hardware. Real-time shading languages, SIGGRAPH 2001 Course."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/566570.566636"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/344779.344987"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/38.946629"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/122718.122751"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508363.2508383"},{"key":"e_1_2_1_25_1","volume-title":"Eurographics","author":"Wei Li-Yi","year":"2009","unstructured":"Li-Yi Wei , Sylvain Lefebvre , Vivek Kwatra , and Greg Turk . 2009. State of the Art in Example-based Texture Synthesis . In Eurographics 2009 , State of the Art Report, EG-STAR. Li-Yi Wei, Sylvain Lefebvre, Vivek Kwatra, and Greg Turk. 2009. State of the Art in Example-based Texture Synthesis. In Eurographics 2009, State of the Art Report, EG-STAR."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/964967.801126"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/237170.237267"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVCG.2010.263"}],"container-title":["Proceedings of the ACM on Computer Graphics and Interactive Techniques"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3233304","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3233304","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:12Z","timestamp":1750212792000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3233304"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,8,24]]},"references-count":28,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,8,24]]}},"alternative-id":["10.1145\/3233304"],"URL":"https:\/\/doi.org\/10.1145\/3233304","relation":{},"ISSN":["2577-6193"],"issn-type":[{"value":"2577-6193","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,8,24]]},"assertion":[{"value":"2018-08-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}