Download presentation
1
Create Procedural Textures with Perlin Noises
Wei Shen CMPS 260
2
Perlin Noise Noise Function – A seeded random number generator
Interpolation Function – Linear Interpolation, Cosine Interpolation, Cubic Interpolation, etc.
3
Frequency = 1/Wavelength
Wave Properties Frequency = 1/Wavelength
4
Noise Functions
5
Add them together, then
6
Some noise functions created in 2D
Adding all these functions together produces a noisy pattern
7
Persistence A single number used to specify the amplitude of each frequency Frequency = 2i Amplitude = Persistencei i is the ith noise function being added Octave – each successive noise function
9
Random Number Generator
Example: function IntNoise(32-bit integer: x) x = (x<<13) ^ x; return (1.0-((x*(x*x* ) )&7fffffff)/ ); end IntNoise function
10
Interpolations Linear Interpolation:
function Linear_Interpolate(a, b, x) return a*(1-x) + b*x end of function
11
Cosine Interpolation:
function Cosine_Interpolate(a, b, x) ft = x * f = (1 - cos(ft)) * .5 return a*(1-f) + b*f end of function
12
Cubic Interpolation: function Cubic_Interpolate(v0, v1, v2, v3,x)
P = (v3 - v2) - (v0 - v1) Q = (v0 - v1) - P R = v2 - v0 S = v1 return Px3 + Qx2 + Rx + S end of function
13
Smoothed Noise
14
Applications of Perlin Noise
1-Dimensional: controlling virtual beings, drawing sketched lines.
15
2-Dimensional: landscapes, clouds, generating textures.
3-Dimensional: 3D clouds, animated clouds, solid textures. 4-Dimensional: animated 3D textures and clouds.
16
3 Dimensional Perlin Noise, 4 Octaves, Persistence 0.25 and 0.5
Low persistence Mix two Perlin Functions Bumps - high frequency noise stretched in one dimension
17
References Perlin Noise: Procedure Textures: Ken Perlin’s Homepage:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.