Perlin noise is a repeatable pseudo-random function of 3D position used for procedural textures
Perlin noise maps a 3D spatial coordinate to a smooth pseudo-random scalar value. It is deterministic — the same input always returns the same value — but appears random to the eye. The smoothness comes from gradient interpolation at lattice points using Hermite curves; turbulence stacks multiple octaves at increasing frequencies to create fractal-like detail. In ray tracing (and shaders generally), Perlin noise drives procedural textures: marble, wood grain, terrain, and clouds without any image files. A single 3D noise field produces patterns that are continuous in all directions, so textures tile seamlessly on any 3D surface without UV unwrapping.
Examples
Marble texture: sin(z + 10turbulence(p)) maps 3D noise to a sine wave, creating the characteristic veining. Wood: noise(4p) modulated by distance from z-axis.
Assessment
Why does Perlin noise look smoother than white noise? What is turbulence and how is it computed from multiple noise octaves?