perlin noise
play

Perlin Noise Creating Procedural Solid T extures Student: - PowerPoint PPT Presentation

Perlin Noise Creating Procedural Solid T extures Student: Alexandre Chapiro, Advisor: Luiz Velho 01/07/10 Presentation 1 T opics Topics Solid textures. Introduction Theory Some examples Perlin Noise. Software More examples!


  1. Perlin Noise Creating Procedural Solid T extures Student: Alexandre Chapiro, Advisor: Luiz Velho 01/07/10 Presentation 1

  2. T opics Topics ● Solid textures. Introduction Theory Some examples ● Perlin Noise. Software More examples! ● What can we do with all this? 01/07/10 Presentation 2

  3. Introduction Topics ➙ What is Perlin Noise? Introduction Theory Some examples ● Perlin Noise is a method used to develop several Software interesting procedural textures: More examples! ● Clouds / Water / Fire / some materials (marble, wood) ... ● ... and much more! 01/07/10 Presentation 3

  4. Theory Topics ➙ What is Perlin Noise? Introduction ● Perlin Noise is a mapping from ℝn to ℝ. Theory Some examples ● First, create a grid of points with integer Software coordinates, More examples! ● For each point, find it's closest neighbours on this grid, ● Use a hash table to assign each of the grid points a gradient vector, which defines a linear function, ● Weight these functions using an S shaped polynomial (currently 6x⁵ – 15x⁴ + 10x³), ● Sum them all, and the result is Perlin Noise. 01/07/10 Presentation 4

  5. Theory Topics ➙ What does it look like? Introduction ● Perlin Noise alone isn't Theory Some examples very useful. Software More examples! ● We can, however, combine it with several other functions! ● For instance, ⅀(1/f)*(noise(f*p)) is called turbulence, and can be used to generate lots of ↑This interesting effects. 01/07/10 Presentation 5

  6. Some examples Topics ➙ Some examples from Perlin's “Making Introduction Noise” talk (and my attempts at replicating Theory them): Some examples Software More examples! ➙Original Image ➙My example 01/07/10 Presentation 6

  7. A water ball with ripples Topics ➙ How was it obtained? Introduction Theory ● Only bump mapping, no color Some examples variation; Software More examples! ● The normal vector at each point 'p' is obtained through: n += pnoise(p*parameter); ● 'n' is the original normal; ● Parameter is chosen big enough for a pleasing effect. (more on this later) 01/07/10 Presentation 7

  8. Some examples Topics ➙ Another example from Perlin's “Making Introduction Noise” talk: Theory Some examples Software More examples! ➙Original Image ➙My example 01/07/10 Presentation 8

  9. A green-ish planet with clouds Topics ➙ How was it obtained? Introduction Theory ● Outside of the ball brightened, to Some examples make it look like a clearer Software atmosphere arround a darker More examples! landmass; ● Planet's color is static, with clouds added to the original color; ● Cloud's color obtained with: c += turbulence (8, p); ● 8 is the amount of octaves; 01/07/10 Presentation 9

  10. Some examples Topics ➙ Yet another example from Perlin's “Making Introduction Noise” talk: Theory Some examples Software More examples! ➙Original Image ➙My example 01/07/10 Presentation 10

  11. Flame ball Topics ➙ How was it obtained? Introduction ● Initial colour set as bright orange Theory (lots of R and G); Some examples Software ● The color is then obtained by More examples! keeping R the same and varying G: G -= 4* [turbulence (15, parameter*p, WITH_ABSOLUTE_VALUE)]^2; ● 15 octaves, turbulence with absolute value, ^2 for thinner lines. 01/07/10 Presentation 11

  12. Some examples Topics ➙ One last example from Perlin's “Making Introduction Noise” talk: Theory Some examples Software More examples! ➙Original Image ➙My example 01/07/10 Presentation 12

  13. Marble Topics ➙ How was it obtained? Introduction Theory ● Initial colour set as “hay”, then Some examples multiplied by 'f'; Software More examples! ● K = turbulence(15, p, WITH_ABSOLUTE_VALUE); C = 'hay'* sin(4*PI*(p.x + 2*k^2); ● 15 octaves, turbulence with absolute value, ^2 for thinner lines, 4*PI sets the ammount of oscillation of the 'sin' function (black x colored lines). 01/07/10 Presentation 13

  14. The program. Topics ➙ I've created an interactive program that Introduction allows the user to create his own textures Theory using Perlin Noise / T urbulence. Some examples Software More examples! 01/07/10 Presentation 14

  15. Normal editing. Topics ➙ The first tab allows the user to create bump Introduction maps using diferent kinds of T urbulence, stripes, Theory and several possibilities. Some examples Software More examples! 01/07/10 Presentation 15

  16. T exture creation. Topics ➙Users can create Introduction their own textures. Theory Some examples Some examples: Software More examples! 01/07/10 Presentation 16

  17. Defines Regions. Topics ➙The program also allows the user to create a Introduction division on the surface using turbulence or Theory stripes... Some examples Software More examples! 01/07/10 Presentation 17

  18. The final result! Topics ➙Finally, you can create an image that contains Introduction the respective textures in the created regions, Theory on a sphere with the bump map you used Some examples before! Software More examples! 01/07/10 Presentation 18

  19. More results! 01/07/10 Presentation 19

  20. Few more results! 01/07/10 Presentation 20

  21. References: Papers: 1) Ken Perlin, “An Image Synthesizer”, SIGGRAPH ● Volume 19, number 3, July 1985. 2) Ken Perlin, “Improving Noise”, Proceedings of ACM ● SIGGRAPH 2002. 3) A. Lagae et al., “State of the Art in Procedural ● Noise Functions”, EUROGRAPHICS, STAR – State of The Art Report, 2010. Ken Perlin, “Making Noise”, Talks: ● http://www.noisemachine.com/talk1 01/07/10 Presentation 21

  22. Thank You! 01/07/10 Presentation 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend