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

perlin noise
SMART_READER_LITE
LIVE PREVIEW

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!


slide-1
SLIDE 1

01/07/10 Presentation 1

Perlin Noise

Creating Procedural Solid T extures Student: Alexandre Chapiro, Advisor: Luiz Velho

slide-2
SLIDE 2

2 Presentation 01/07/10

T

  • pics

Topics Theory Some examples

  • Solid textures.
  • Perlin Noise.
  • What can we do with all this?

Software Introduction More examples!

slide-3
SLIDE 3

3 Presentation 01/07/10

Introduction

Introduction Theory Some examples

➙ What is Perlin Noise?

  • Perlin Noise is a method used to develop several

interesting procedural textures:

  • Clouds / Water / Fire / some materials (marble,

wood) ...

  • ... and much more!

Software Topics More examples!

slide-4
SLIDE 4

4 Presentation 01/07/10

Theory

Theory Introduction Some examples

➙ What is Perlin Noise?

  • Perlin Noise is a mapping from ℝn to ℝ.
  • First, create a grid of points with integer

coordinates,

  • 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.

Software Topics More examples!

slide-5
SLIDE 5

5 Presentation 01/07/10

Theory

Theory Introduction Some examples

➙ What does it look like?

  • Perlin Noise alone isn't

very useful.

  • We can, however,

combine it with several

  • ther functions!
  • For instance, ⅀(1/f)*(noise(f*p))

is called turbulence, and can be used to generate lots of interesting effects.

Software Topics

↑This

More examples!

slide-6
SLIDE 6

6 Presentation 01/07/10

Some examples

Some examples Theory Introduction

➙ Some examples from Perlin's “Making Noise” talk (and my attempts at replicating them):

Software Topics

➙Original Image ➙My example

More examples!

slide-7
SLIDE 7

7 Presentation 01/07/10

A water ball with ripples

Some examples Theory Introduction

➙ How was it obtained?

Software Topics

  • Only bump mapping, no color

variation;

  • 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)

More examples!

slide-8
SLIDE 8

8 Presentation 01/07/10

Some examples

Some examples Theory Introduction

➙ Another example from Perlin's “Making Noise” talk:

Software Topics

➙Original Image ➙My example

More examples!

slide-9
SLIDE 9

9 Presentation 01/07/10

A green-ish planet with clouds

Some examples Theory Introduction

➙ How was it obtained?

Software Topics

  • Outside of the ball brightened, to

make it look like a clearer atmosphere arround a darker 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;

More examples!

slide-10
SLIDE 10

10 Presentation 01/07/10

Some examples

Some examples Theory Introduction

➙ Yet another example from Perlin's “Making Noise” talk:

Software Topics

➙Original Image ➙My example

More examples!

slide-11
SLIDE 11

11 Presentation 01/07/10

Flame ball

Some examples Theory Introduction

➙ How was it obtained?

Software Topics

  • Initial colour set as bright orange

(lots of R and G);

  • The color is then obtained by

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.

More examples!

slide-12
SLIDE 12

12 Presentation 01/07/10

Some examples

Some examples Theory Introduction

➙ One last example from Perlin's “Making Noise” talk:

Software Topics

➙Original Image ➙My example

More examples!

slide-13
SLIDE 13

13 Presentation 01/07/10

Marble

Some examples Theory Introduction

➙ How was it obtained?

Software Topics

  • Initial colour set as “hay”, then

multiplied by 'f';

  • 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

  • scillation of the 'sin' function

(black x colored lines).

More examples!

slide-14
SLIDE 14

14 Presentation 01/07/10

The program.

Theory Some examples Introduction

➙I've created an interactive program that

allows the user to create his own textures using Perlin Noise / T urbulence.

Topics More examples! Software

slide-15
SLIDE 15

15 Presentation 01/07/10

Normal editing.

Theory Some examples Introduction

➙The first tab allows the user to create bump

maps using diferent kinds of T urbulence, stripes, and several possibilities.

Topics More examples! Software

slide-16
SLIDE 16

16 Presentation 01/07/10

T exture creation.

Theory Some examples Introduction

➙Users can create their own textures. Some examples:

Topics More examples! Software

slide-17
SLIDE 17

17 Presentation 01/07/10

Defines Regions.

Theory Some examples Introduction

➙The program also allows the user to create a division on the surface using turbulence or stripes...

Topics More examples! Software

slide-18
SLIDE 18

18 Presentation 01/07/10

The final result!

Theory Some examples Introduction

➙Finally, you can create an image that contains the respective textures in the created regions,

  • n a sphere with the bump map you used

before!

Topics More examples! Software

slide-19
SLIDE 19

01/07/10 Presentation 19

More results!

slide-20
SLIDE 20

01/07/10 Presentation 20

Few more results!

slide-21
SLIDE 21

21 Presentation 01/07/10

References:

  • 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”,

http://www.noisemachine.com/talk1

Papers: Talks:

slide-22
SLIDE 22

01/07/10 Presentation 22

Thank You!