Plush

Noise3D#

PlushEngine · Type index

Namespace: PlushEngine

Shared procedural noise: 3D gradient noise with its analytic derivative (quintic fade, Perlin's edge gradients) and curl noise built from it. Curl noise is divergence-free, so a velocity field sampled from it swirls like a fluid without simulating one (Bridson et al. 2007). Deterministic: hashed from integer lattice coordinates and a seed, the same in every process. Shaders/Noise.slang is its shader-side sibling.

public static class Noise3D

Members: Curl · Gradient

Curl#

public static Vector3 Curl(Vector3 p, uint seed);

The curl of a vector potential made of three gradient noises: a divergence-free velocity field with components of about ±1 (swirls one lattice unit across).

Gradient#

public static float Gradient(Vector3 p, uint seed, out Vector3 derivative);

Gradient noise in about [−1, 1] at p, and its gradient ∂n/∂p.

Source#