Fast High-Quality Noise

Total Page:16

File Type:pdf, Size:1020Kb

Fast High-Quality Noise Downloaded from orbit.dtu.dk on: Oct 05, 2021 Fast High-Quality Noise Frisvad, Jeppe Revall; Wyvill, Geoff Published in: Proceedings of GRAPHITE 2007 Link to article, DOI: 10.1145/1321261.1321305 Publication date: 2007 Link back to DTU Orbit Citation (APA): Frisvad, J. R., & Wyvill, G. (2007). Fast High-Quality Noise. In Proceedings of GRAPHITE 2007: 5th International Conference on Computer Graphics and Interactive Techniques in Australasia and Southeast Asia ACM. https://doi.org/10.1145/1321261.1321305 General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Fast High-Quality Noise Jeppe Revall Frisvad Geoff Wyvill Technical University of Denmark University of Otago Abstract At the moment the noise functions available in a graphics program- mer’s toolbox are either slow to compute or they involve grid-line artifacts making them of lower quality. In this paper we present a real-time noise computation with no grid-line artifacts or other regularity problems. In other words, we put a new tool in the box that computes fast high-quality noise. In addition to being free of artifacts, the noise we present does not rely on tabulated data (ev- erything is computed on the fly) and it is easy to adjust quality vs. quantity for the noise. The noise is based on point rendering (like spot noise), but it extends to more than two dimensions. The fact that it is based on point rendering makes art direction of the (a) 628.1 s (b) 1.2 s noise much easier. Figure 1: Reference noise (and CPU rendering time in seconds). CR Categories: I.3.3 [Computer Graphics]: Picture/Image Gener- From left to right: (a) Pseudo-white noise filtered with a Gaussian ation I.3.7 [Computer Graphics]: Three-Dimensional Graphics and kernel. (b) The same noise filtered with a cubic. Realism 1 Keywords: Noise, point rendering, GPU. 1 0,8 0,8 1 Introduction 0,6 0,6 We present a fast, high-quality noise computation based on raster- 0,4 ization. The noise function we implement is the sparse convolu- 0,4 tion noise advocated by J. P. Lewis [1984; 1989]. We have chosen 0,2 0,2 sparse convolution noise since it has several qualitative advantages as compared to more commonly used noise functions such as im- 0 0 proved Perlin noise. Sparse convolution noise is generally believed -0,1 -0,05 0 0,05 0,1 -0,1 -0,05 0 0,05 0,1 to be expensive to compute, but in this paper we challenge that consensus by exploiting the programmability of modern graphics Figure 2: Filter kernels. From left to right: (a) The Gaussian kernel hardware. Our approach has strong relations to van Wijk’s [1991] used in Figure 1a. It never falls off to zero. (b) The cubic kernel spot noise, but we take the concept to the next level by computing used in Figure 1b. It has compact support. solid noise using three-dimensional spots. With a few tweaks, the Perlin noise function seems to be the most This problem can also be remedied, but we have already proved our efficient way of getting individual noise values of decent quality. point; it is worth considering different approaches. At the moment It is, however, not the only way to go. By our implementation of Perlin’s very fast noise function of decent quality seems to be the sparse convolution noise for the GPU, we intend to broaden the de facto standard which everybody uses. There should be an option range of noise functions available in a graphics programmer’s tool- of at least one better quality noise function which is still fast. box. The new tool in the box is a way of computing better quality noise without a heavy efficiency penalty. 2 Reference Noise Why do we need better noise? If you happen to pick a grid-aligned 2D slice from the standard 3D implementation of improved Per- What noise functions in general try to achieve is a good approxima- lin noise [Perlin 2002], gridline artifacts will be relatively obvious, tion of white noise filtered with some Gaussian kernel [Lewis 1989; since the noise function is forced to return zero at every grid node. Ebert et al. 2002]. But as Perlin points out “this approach would ne- We might be able to fix this problem, but visually the gradient noise cessitate building a volume of white noise and then blurring it all at still seems to show a recognizable pattern, especially when grid once. This is quite impractical” [Ebert et al. 2002, p. 340]. To get a aligned. This is perhaps due to the fact that improved Perlin noise feeling for what good noise looks like, it is nevertheless interesting chooses from only a small set of different gradients at each node. to compute this reference noise. A sufficient number of pseudo- randomly placed impulses with a pseudo-random value in [−1, 1] gives a good imitation of white noise [Lewis 1989]. Suppose we are looking at a noise image with the size of 512 by 512 units (pixels) and that we use a Gaussian filter with standard deviation σ = 16/3. This gives approximately 16 Gaussian blobs across the width of the c ACM, 2007. This is the author’s version of the work. It is posted image. The resulting noise image is shown in Figure 1a. here by permission of ACM for your personal use. Not for redis- tribution. The definitive version was published in Proceedings of This Gaussian reference noise is quite expensive to compute, since GRAPHITE 2007, ACM, pp. 243–248+315, December 2007. the filter never falls off to zero, see Figure 2a. This means that every impulse contributes to every pixel. With hardly any impact on quality, we choose a cubic filter instead, see Figure 2b. Let r denote Listing 1: The fragment shader replacing an alpha texture with the filter radius (r = 16 in this case to get the same number of filter precomputed weights w(d). kernels across the image as with the Gaussian) and let d denote the uniform float filter_size_sqr; distance from the impulse to the point where we wish to compute varying vec2 winspace_vert_pos; the noise value. Then the cubic filter (which has continuous first float weight(float t) { return t*t*t; } and second derivatives) replacing the Gaussian is void main() 3 { 1 − d2/r2 , d2 < r2 w(d) = . vec2 v = gl_FragCoord.xy - winspace_vert_pos; 0 , d2 ≥ r2 float dist_sqr = dot(v, v); float w = dist < filter_size_sqr ? weight(1.0 - dist_sqr/filter_size_sqr) Now, for each noise value, we throw away all the impulses outside : 0.0; the filter radius. This greatly improves the efficiency. The result is shown in Figure 1b and is hardly distinguishable from the reference. gl_FragColor = vec4(gl_Color.rgb, w); } To have noise in different frequency ranges, we simply change the filter size r. We refer to the number of filter diameters across the width of a 2D noise image as the scale of the noise. Using this ter- minology, the noise in Figure 1 is of scale s = 16. A good quality The blending function is set such that the value measure for the sparse convolution noise is the average number n of n = 15 sources under each filter kernel. For example gives noise of vi decent quality while n = 30 gives noise of excellent quality. How- w(d) (2n1/D) ever, as n increases so does the cost of computing noise values. The two adjustable parameters s and n are convenient to have as input, is added to every pixel covered by point i. To take into account and from those we find that the number of pseudo-randomly placed that some sources are positive and some are negative, we do as fol- sources needed for a D-dimensional noise image is nsD. lows: The vertices corresponding to sources with positive values are rendered with standard additive alpha blending, while the ones 3 Point Rendering Approach with negative values are rendered with reversed subtractive alpha blending. In the reference approach described above, a filter kernel is centered at each pixel, and we need to find the distance to each source in The range of the resulting noise image is [0, 1] (this interval is ob- order to know whether it should be included in the noise calculation tained subsequently for the reference noises described in the pre- or rejected. By calculating the noise the other way around, using a vious section). The d in w(d) may be off by up to half a pixel rasterization approach, we are able to render each source as a point width because we use a texture. Otherwise we obtain the same re- and obtain exactly the same result. sult as presented in Figure 1b. Perhaps with lower precision if we do not have a high precision color buffer available, but now we have The advantage of a point rendering approach is that the graphics the result in real-time (0.0083 seconds for the image in Figure 1b) pipeline (almost for free) finds the pixels influenced by the filter even on old graphics hardware that does not support programmable kernel around a source.
Recommended publications
  • Procedural Generation of a 3D Terrain Model Based on a Predefined
    Procedural Generation of a 3D Terrain Model Based on a Predefined Road Mesh Bachelor of Science Thesis in Applied Information Technology Matilda Andersson Kim Berger Fredrik Burhöi Bengtsson Bjarne Gelotte Jonas Graul Sagdahl Sebastian Kvarnström Department of Applied Information Technology Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2017 Bachelor of Science Thesis Procedural Generation of a 3D Terrain Model Based on a Predefined Road Mesh Matilda Andersson Kim Berger Fredrik Burhöi Bengtsson Bjarne Gelotte Jonas Graul Sagdahl Sebastian Kvarnström Department of Applied Information Technology Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2017 The Authors grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Procedural Generation of a 3D Terrain Model Based on a Predefined Road Mesh Matilda Andersson Kim Berger Fredrik Burhöi Bengtsson Bjarne Gelotte Jonas Graul Sagdahl Sebastian Kvarnström © Matilda Andersson, 2017.
    [Show full text]
  • Nuke Survival Toolkit Documentation
    Nuke Survival Toolkit Documentation Release v1.0.0 Tony Lyons | 2020 1 About The Nuke Survival Toolkit is a portable tool menu for the Foundry’s Nuke with a hand-picked selection of nuke gizmos collected from all over the web, organized into 1 easy-to-install toolbar. Installation Here’s how to install and use the Nuke Survival Toolkit: 1.) Download the .zip folder from the Nuke Survival Toolkit github website. https://github.com/CreativeLyons/NukeSurvivalToolkit_publicRelease This github will have all of the up to date changes, bug fixes, tweaks, additions, etc. So feel free to watch or star the github, and check back regularly if you’d like to stay up to date. 2.) Copy or move the NukeSurvivalToolkit Folder either in your User/.nuke/ folder for personal use, or for use in a pipeline or to share with multiple artists, place the folder in any shared and accessible network folder. 3.) Open your init.py file in your /.nuke/ folder into any text editor (or create a new init.py in your User/.nuke/ directory if one doesn’t already exist) 4.) Copy the following code into your init.py file: nuke.pluginAddPath( "Your/NukeSurvivalToolkit/FolderPath/Here") 5.) Copy the file path location of where you placed your NukeSurvivalToolkit. Replace the Your/NukeSurvivalToolkit/FolderPath/Here text with your NukeSurvivalToolkit filepath location, making sure to keep quotation marks around the filepath. 6.) Save your init.py file, and restart your Nuke session 7.) That’s it! Congrats, you will now see a little red multi-tool in your nuke toolbar.
    [Show full text]
  • Fast, High Quality Noise
    The Importance of Being Noisy: Fast, High Quality Noise Natalya Tatarchuk 3D Application Research Group AMD Graphics Products Group Outline Introduction: procedural techniques and noise Properties of ideal noise primitive Lattice Noise Types Noise Summation Techniques Reducing artifacts General strategies Antialiasing Snow accumulation and terrain generation Conclusion Outline Introduction: procedural techniques and noise Properties of ideal noise primitive Noise in real-time using Direct3D API Lattice Noise Types Noise Summation Techniques Reducing artifacts General strategies Antialiasing Snow accumulation and terrain generation Conclusion The Importance of Being Noisy Almost all procedural generation uses some form of noise If image is food, then noise is salt – adds distinct “flavor” Break the monotony of patterns!! Natural scenes and textures Terrain / Clouds / fire / marble / wood / fluids Noise is often used for not-so-obvious textures to vary the resulting image Even for such structured textures as bricks, we often add noise to make the patterns less distinguishable Ех: ToyShop brick walls and cobblestones Why Do We Care About Procedural Generation? Recent and upcoming games display giant, rich, complex worlds Varied art assets (images and geometry) are difficult and time-consuming to generate Procedural generation allows creation of many such assets with subtle tweaks of parameters Memory-limited systems can benefit greatly from procedural texturing Smaller distribution size Lots of variation
    [Show full text]
  • IWCE 2015 PTIG-P25 Foundations Part 2
    Sponsored by: Project 25 College of Technology Security Services Update & Vocoder & Range Improvements Bill Janky Director, System Design IWCE 2015, Las Vegas, Nevada March 16, 2015 Presented by: PTIG - The Project 25 Technology Interest Group www.project25.org – Booth 1853 © 2015 PTIG Agenda • Overview of P25 Security Services - Confidentiality - Integrity - Key Management • Current status of P25 security standards - Updates to existing services - New services 2 © 2015 PTIG PTIG - Project 25 Technology Interest Group IWCE 2015 I tell Fearless Leader we broke code. Moose and Squirrel are finished! 3 © 2015 PTIG PTIG - Project 25 Technology Interest Group IWCE 2015 Why do we need security? • Protecting information from security threats has become a vital function within LMR systems • What’s a threat? Threats are actions that a hypothetical adversary might take to affect some aspect of your system. Examples: – Message interception – Message replay – Spoofing – Misdirection – Jamming / Denial of Service – Traffic analysis – Subscriber duplication – Theft of service 4 © 2015 PTIG PTIG - Project 25 Technology Interest Group IWCE 2015 What P25 has for you… • The TIA-102 standard provides several standardized security services that have been adopted for implementation in P25 systems. • These security services may be used to provide security of information transferred across FDMA or TDMA P25 radio systems. Note: Most of the security services are optional and users must consider that when making procurements 5 © 2015 PTIG PTIG - Project 25 Technology
    [Show full text]
  • Hardware-Accelerated Gradient Noise for Graphics
    Hardware-Accelerated Gradient Noise for Graphics Josef B. Spjut Andrew E. Kensler Erik L. Brunvand School of Computing SCI Institute School of Computing University of Utah University of Utah University of Utah [email protected] [email protected] [email protected] ABSTRACT techniques trade computation for memory. This is impor- A synthetic noise function is a key component of most com- tant since as process technology scales, compute resources puter graphics rendering systems. This pseudo-random noise will increasingly outstrip memory speeds. For texturing sur- function is used to create a wide variety of natural looking faces, the memory reduction can be two-fold: first there textures that are applied to objects in the scene. To be is the simple reduction in texture memory itself. Second, useful, the generated noise should be repeatable while ex- 3D or \solid" procedural textures can eliminate the need for hibiting no discernible periodicity, anisotropy, or aliasing. explicit texture coordinates to be stored with the models. However, noise with these qualities is computationally ex- However, in order to avoid uniformity and produce visual pensive and results in a significant fraction of the run time richness, a simple, repeatable, pseudo-random function is for scenes with rich visual complexity. We propose modifi- required. Noise functions meet this need. Simply described, a noise function in computer graphics is cations to the standard algorithm for computing synthetic N noise that improve the visual quality of the noise, and a par- an R ! R mapping used to introduce irregularity into an allel hardware implementation of this improved noise func- otherwise regular pattern.
    [Show full text]
  • Prime Gradient Noise
    Computational Visual Media https://doi.org/10.1007/s41095-021-0206-z Research Article Prime gradient noise Sheldon Taylor1,∗, Owen Sharpe1,∗, and Jiju Peethambaran1 ( ) c The Author(s) 2021. Abstract Procedural noise functions are fundamental 1 Introduction tools in computer graphics used for synthesizing virtual geometry and texture patterns. Ideally, a Visually pleasing 3D content is one of the core procedural noise function should be compact, aperiodic, ingredients of successful movies, video games, and parameterized, and randomly accessible. Traditional virtual reality applications. Unfortunately, creation lattice noise functions such as Perlin noise, however, of high quality virtual 3D content and textures exhibit periodicity due to the axial correlation induced is a labour-intensive task, often requiring several while hashing the lattice vertices to the gradients. months to years of skilled manual labour. A In this paper, we introduce a parameterized lattice relatively cheap yet powerful alternative to manual noise called prime gradient noise (PGN) that minimizes modeling is procedural content generation using a discernible periodicity in the noise while enhancing the set of rules, such as L-systems [1] or procedural algorithmic efficiency. PGN utilizes prime gradients, a noise [2]. Procedural noise has proven highly set of random unit vectors constructed from subsets of successful in creating computer generated imagery prime numbers plotted in polar coordinate system. To (CGI) consisting of 3D models exhibiting fine detail map axial indices of lattice vertices to prime gradients, at multiple scales. Furthermore, procedural noise PGN employs Szudzik pairing, a bijection F : N2 → N. is a compact, flexible, and low cost computational Compositions of Szudzik pairing functions are used in technique to synthesize a range of patterns that may higher dimensions.
    [Show full text]
  • A Generalized Framework for Agglomerative Clustering of Signed Graphs Applied to Instance Segmentation
    A Generalized Framework for Agglomerative Clustering of Signed Graphs applied to Instance Segmentation Alberto Bailoni1, Constantin Pape1,2, Steffen Wolf1, Thorsten Beier2, Anna Kreshuk2, Fred A. Hamprecht1 1HCI/IWR, Heidelberg University, Germany 2EMBL, Heidelberg, Germany {alberto.bailoni, steffen.wolf, fred.hamprecht}@iwr.uni-heidelberg.de {constantin.pape, thorsten.beier, anna.kreshuk}@embl.de Abstract We propose a novel theoretical framework that generalizes algorithms for hierarchi- cal agglomerative clustering to weighted graphs with both attractive and repulsive interactions between the nodes. This framework defines GASP, a Generalized Algorithm for Signed graph Partitioning, and allows us to explore many combi- nations of different linkage criteria and cannot-link constraints. We prove the equivalence of existing clustering methods to some of those combinations, and introduce new algorithms for combinations which have not been studied. An exten- sive comparison is performed to evaluate properties of the clustering algorithms in the context of instance segmentation in images, including robustness to noise and efficiency. We show how one of the new algorithms proposed in our frame- work outperforms all previously known agglomerative methods for signed graphs, both on the competitive CREMI 2016 EM segmentation benchmark and on the CityScapes dataset. 1 Introduction In computer vision, the partitioning of weighted graphs has been successfully applied to such tasks as image segmentation, object tracking and pose estimation. Most graph clustering methods work with positive edge weights only, which can be interpreted as similarities or distances between the nodes. arXiv:1906.11713v1 [cs.CV] 27 Jun 2019 These methods are parameter-based and require users to specify the desired numbers of clusters or a termination criterion (e.g.
    [Show full text]
  • Frequency and Distance Separations
    Rec. ITU-R SM.337-6 1 RECOMMENDATION ITU-R SM.337-6* Frequency and distance separations (1948-1951-1953-1963-1970-1974-1990-1992-1997-2007-2008) Scope This Recommendation provides the procedures for calculating distance and frequency separations for an acceptable interference level. Keywords Interference level, receiver selectivity, channel, frequency separation, protection ratio The ITU Radiocommunication Assembly, considering a) that, in the more usual cases, the primary factors which determine appropriate frequency or distance separation criteria include: – the signal power and spectral distribution required by the receiver; – the power and spectral distribution of the interfering signals and noise intercepted by the receiver; – the distance dependence of the transmission losses of the radio equipments; b) that transmitters, in general, emit radiations outside the frequency bandwidth necessarily occupied by the emission; c) that many factors are involved, among which are the properties of the transmission medium (which are variable in character and difficult to determine), the characteristics of the receiver and, for aural reception, the discriminating properties of the human ear; d) that trade-offs in either frequency or distance separations of the radio equipment are possible, recommends 1 that the frequency-distance (FD) separations of radio equipment should be calculated by the following method: 1.1 determine the power and spectral distribution of the signal intercepted by the receiver; 1.2 determine the power and spectral distribution
    [Show full text]
  • CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Procedural
    CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Procedural Generation of Planetary-Scale Terrains in Virtual Reality A thesis submitted in partial fulfillment of the requirements For the degree of Master of Science in Software Engineering By Ryan J. Vitacion December 2018 The thesis of Ryan J. Vitacion is approved: __________________________________________ _______________ Professor Kyle Dewey Date __________________________________________ _______________ Professor Taehyung Wang Date __________________________________________ _______________ Professor Li Liu, Chair Date California State University, Northridge ii Acknowledgment I would like to express my sincere gratitude to my committee chair, Professor Li Liu, whose guidance and enthusiasm were invaluable in the development of this thesis. I would also like to thank Professor George Wang and Professor Kyle Dewey for agreeing to be a part of my committee and for their support throughout this research endeavor. iii Dedication This work is dedicated to my parents, Alex and Eppie, whose endless love and support made this thesis possible. I would also like to dedicate this work to my sister Jessica, for her constant encouragement and advice along the way. I love all of you very dearly, and I simply wouldn’t be where I am today without you by my side. iv Table of Contents Signature Page.....................................................................................................................ii Acknowledgment................................................................................................................iii
    [Show full text]
  • Software Phantoms in Medical Image Analysis
    Software Phantoms in Medical Image Analysis D I S S E R T A T I O N zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) angenommen durch die Fakultät für Informatik der Otto-von-Guericke-Universität Magdeburg von Dipl. Inf. Jan Rexilius geb. am 17.03.1975 in Herdecke Gutachterinnen/Gutachter Prof. Dr. Klaus-Dietz Tönnies Prof. Dr. Simon K. Warfield Prof. Dr. Regina Pohle-Fröhlich Magdeburg, den 16.03.2015 Zusammenfassung Diese Arbeit beschäftigt sich mit der Analyse von Softwarephantomen für die medizinis- che Bildverarbeitung. Dazu werden neue Verfahren in zwei unterschiedlichen Aufgaben- gebieten vorgestellt: (1) Die Entwicklung von Phantomen und deren Anwendung sowie (2) die Validierung von Phantomen. Ein wichtiger erster Schritt für die Entwicklung von Softwarephantomen ist die Betra- chtung der Phantomart und der zugrundeliegenden Anwendung. Die ersten Kapitel dieser Arbeit geben daher zunächst einmal einen Überblick über Designmethoden. Darüber hin- aus werden Parameter untersucht, die man häufig für die Phantomerstellung verwendet. Basierend auf den Ergebnissen dieser Betrachtung erfolgt dann die Entwicklung eines mod- ularen Designs für Phantome. Unser Ziel ist eine Art Baukasten, der eine formalisierte Beschreibung von Parametern nutzt. Dies ermöglicht den Austausch einzelner Parameter durch neue Modelle. Basierend auf unserer Designmethode, entwickeln wir im nächsten Schritt Phantome für unterschiedliche Anwendungen. Besonders die Entwicklung von Multiple Sklerose (MS) Läsionsphantomen sowie von Gehirntumorphantomen stehen im Vordergrund. Dabei wer- den verschiedene Aspekte untersucht, wie etwa das Objektvolumen. Darüber hinaus wird eine makroskopische Simulation von Wachstumsprozessen basierend auf einem physikalisch motivierten, elastischen Modell, vorgeschlagen, das bereits für die Erfassung von Formverän- derungen während neurochirurgischer Eingriffe verwendet wurde.
    [Show full text]
  • Using Perlin Noise in Sound Synthesis
    Using Perlin noise in sound synthesis Artem POPOV Gorno-Altaysk, Russian Federation, [email protected] Abstract This paper is focused on synthesizing single- Perlin noise is a well known algorithm in computer cycle waveforms with Perlin noise and its suc- graphics and one of the first algorithms for gener- cessor, Simplex noise. An overview of both algo- ating procedural textures. It has been very widely rithms is given followed by a description of frac- used in movies, games, demos, and landscape gen- tional Brownian motion and several techniques erators, but despite its popularity it has been sel- for adding variations to noise-based waveforms. dom used for creative purposes in the fields outside Finally, the paper describes an implementation computer graphics. This paper discusses using Per- of a synthesizer plugin using Perlin noise to cre- lin noise and fractional Brownian motion for sound ate musically useful timbres. synthesis applications. Keywords 2 Perlin noise Perlin noise, Simplex noise, fractional Brownian mo- Perlin noise is a gradient noise that is built tion, sound synthesis from a set of pseudo-random gradient vectors of unit length evenly distributed in N-dimensional 1 Introduction space. Noise value in a given point is calculated by computing the dot products of the surround- Perlin noise, first described by Ken Perlin in his ing vectors with corresponding distance vectors ACM SIGGRAPH Computer Graphics article to the given point and interpolating between \An image Synthesizer" [Perlin, 1985] has been them using a smoothing function. traditionally used for many applications in com- Sound is a one-dimensional signal, and for puter graphics.
    [Show full text]
  • Proceedings Der Linux Audio Conference 2018
    Proceedings of the Linux Audio Conference 2018 June 7th - 10th, 2018 c-base, in partnership with the Electronic Studio at TU Berlin Berlin, Germany Published by Henrik von Coler Frank Neumann David Runge http://lac.linuxaudio.org/2018 All copyrights remain with the authors. This work is licensed under the Creatice Commons Licence CC BY-SA 4.0 Published online on the institutional repository of the TU Berlin: DOI 10.14279/depositonce-7046 https://doi.org/10.14279/depositonce-7046 Credits Layout: Frank Neumann Typesetting: LATEX and pdfLaTeX Logo Design: The Linuxaudio.org logo and its variations copyright Thorsten Wilms c 2006, imported into "LAC 2014" logo by Robin Gareus Thanks to: Martin Monperrus for his webpage "Creating proceedings from PDF files" ii Partners and Sponsors Linuxaudio.org Technische Universität Berlin c-base Spektrum CCC Video Operation Center MOD Devices HEDD Native Instruments Ableton iii iv Foreword Welcome everyone to LAC 2018 in Berlin! This is the 15th edition of the Linux Audio Conference, or LAC, the international conference with an informal, workshop-like atmosphere and a unique blend of scientific and technical papers, tutorials, sound installations and concerts centering on the free GNU/Linux oper- ating system and open source software for audio, multimedia and musical applications. We hope that you will enjoy the conference and have a pleasant stay in Berlin! Henrik von Coler Robin Gareus David Runge Daniel Swärd Heiko Weinen v vi Conference Organization Core Team Henrik von Coler Robin Gareus David Runge
    [Show full text]