seededPlane

Frames a field on a zoomable plane: how big the pattern is and where it starts.

seededPlane(field: Field, slots: {scale: PropRef; seed: PropRef}): Field

Import noise from shaders/std and use noise.seededPlane.

Takes the canvas position, corrects it for aspect ratio, zooms it by scale and slides it by seed, then hands a 2D pattern position to the field inside. scale is exponential: each +1 makes the pattern about 2.7× finer, so a slider from −2 to 5 runs from coarse to fine. A different seed shows a different part of the pattern. The framing every noise texture opens with.

Parameters

NameTypeNotes
fieldField
slots{scale: PropRef; seed: PropRef}

Example

paint: rampOver(noiseTone(seededPlane(unitized(gaborGrains({frequency: p('frequency')})), {scale: p('scale'), seed: p('seed')})), stops(p('colorSpace')))

Tip. noiseField bases take a 3D position. Put evolving between seededPlane and the basis, even at rate: 0, to supply the third axis.

See also

  • evolving — Makes a 3D noise basis morph in place over time instead of sliding across the canvas.
  • pixelGrid — Frames a field on the pixel grid: one value per block of grain device pixels.
  • scaledPlane — Frames a field on the aspect-corrected canvas plane, zoomed by a plain multiplier.

Used by

BlockNoise, CurlNoise, ErosionNoise, GaborNoise, PerlinNoise, SimplexNoise, WaveletNoise