Skip to content

NoiseEffect

Source: NoiseEffect.h

NoiseEffect

class NoiseEffect
src/light/effects/NoiseEffect.h:26

Inherits: EffectBase

Effect: a gradient-noise field through the palette, drifting across the fixture or morphing in place.

NoiseEffect card NoiseEffect controls Author: FastLED inoise field (Mark Kriegsman), and MoonLight's Noise2D for the morph form.

The plainest way to turn a noise field into light, and the reference the others vary on. One control decides what moves, which is the whole character of the effect.

Public Attributes

uint8_t motion = 0 : Whether the field moves across the fixture or changes in place.

uint8_t scale = 4 : The field's spatial frequency, where lower is broader.

uint8_t bpm = 60 : How fast it moves.

Public Methods

virtual inline const char * tags() const override : Catalog tags: FastLED and MoonLight lineage.

virtual inline Dim dimensions() const override : Volumetric under drift, where morph shows one field in every slice.

virtual inline void defineControls() override : Publish the motion, the field's scale and its speed.

virtual inline void tick() override : Sample the field per light and read the palette at its value.

Public Static Attributes

constexpr const char * kMotionOptions = {"drift", "morph"}

More info

Drift against morph is an argument over the third axis

Drift scrolls the sample coordinates, so the field slides across the fixture like weather. Each axis scrolls at its own rate, so it flows rather than translating rigidly. A volumetric fixture spends the third axis on the light's own depth, so its slices differ.

Morph holds the coordinates still and spends that axis on time instead. The field then changes in place without going anywhere, which on a panel is the plasma wash. A volumetric fixture has no axis left for depth, so every slice shows the same field.