← COURSE LIBRARY
Procedural · 50 min

Perlin Noise and fBm

IntermediateNeeds: InterpolationNeeds: Coordinate spaces
Sign in to record mastery, quiz results and reviews for this course.Sign in

You will be able to

  • Describe how gradient noise differs from value noise and why it matters.
  • Tune octaves, lacunarity and gain to hit a target silhouette.
  • Budget octave count against shader cost.

The concept

Perlin noise interpolates dot products of random gradients at lattice corners, producing a smooth field with no visible grid. Fractional Brownian motion sums octaves of that noise at increasing frequency (lacunarity) and decreasing amplitude (gain), which is what gives terrain its self-similar detail. Each octave costs a full noise evaluation, so octave count is a direct performance decision.

In your engine

Use the Mountain SOP or `anoise()`/`onoise()` in VEX; octaves, lacunarity and roughness map directly.

Practice (4)

Predict the result
You double lacunarity from 2 to 4 with gain unchanged. The terrain becomes:
Tune the value
With gain 0.5, what is the amplitude of the 4th octave if octave 1 has amplitude 1?
Concept check
Value noise shows visible axis-aligned blockiness. Gradient noise avoids it because:
Find the bug
Your fBm is a flat grey. Which mistake matches?

Knowledge check

01Lacunarity controls:
02Gain (persistence) controls:
03Cost of fBm scales:
04Simplex noise is preferred in higher dimensions because:

Build challenge

Produce a heightfield that hits a specified silhouette: broad plateaus with sharp ridgelines, using no more than 5 octaves. Document the octave/lacunarity/gain values and why each was chosen.

SELF-CHECK RUBRIC

Your mastery state

Apply it in a guided project