80 {
82
83
87
101
103
104 bool pickX = random8() < 128;
105 float sign = (random8() < 128) ? 1.0f : -1.0f;
106 if (pickX) {
107 float cx = random8(0, fx.getWidth());
108 float w = fx.getWidth() * 0.4f;
109 fx.noisePunchX(cx, w, sign);
110 } else {
111 float cy = random8(0, fx.getHeight());
112 float h = fx.getHeight() * 0.4f;
113 fx.noisePunchY(cy, h, sign);
114 }
115 }
116
119}
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
fl::UISlider flowSpeedY("Y Speed", 0.10f, -2.0f, 2.0f, 0.01f)
fl::UICheckbox showFlowVectors("Show Flow Vectors", false)
fl::UISlider flowAmpY("Y Amplitude", 1.0f, 0.0f, 2.0f, 0.01f)
fl::UISlider flowFreqX("X Frequency", 0.33f, 0.05f, 4.0f, 0.01f)
fl::UISlider flowAmpX("X Amplitude", 1.0f, 0.0f, 2.0f, 0.01f)
fl::UIButton noisePunch("NoisePunch")
fl::UIDropdown emitterMode("Emitter Mode", {"Lissajous", "Dots", "Both"})
fl::FlowFieldFloat flowFieldFloat(xyMap)
fl::UISlider numDots("Dots", 3, 1, 5, 1)
fl::UISlider flowFreqY("Y Frequency", 0.32f, 0.05f, 4.0f, 0.01f)
fl::UISlider endpointSpeed("Endpoint Speed", 0.80f, 0.05f, 2.0f, 0.01f)
fl::UISlider colorShift("Color Shift", 0.04f, 0.0f, 0.5f, 0.01f)
fl::UISlider flowShift("Pixel Shift", 1.8f, 0.5f, 4.0f, 0.1f)
fl::UISlider persistence("Trail Half-Life (s)", 0.86f, 0.05f, 5.0f, 0.01f)
fl::UIDropdown computeMode("Compute Mode", {"Float", "Fixed-Point (Fast)"})
fl::UISlider flowSpeedX("X Speed", 0.10f, -2.0f, 2.0f, 0.01f)
fl::FlowFieldFP flowFieldFP(xyMap)
void setColorShift(float speed)
void setFlowSpeedX(float speed)
void setFlowSpeedY(float speed)
void setNoiseFrequencyX(float freq)
void setEndpointSpeed(float speed)
void setDotCount(int count)
void setPersistence(float halfLife)
void setFlowAmplitudeX(float amp)
void draw(DrawContext context) override
Handles timing, then delegates to drawImpl().
void setFlowShift(float shift)
void setNoiseFrequencyY(float freq)
void setEmitterMode(int mode)
void setShowFlowVectors(bool show)
void setFlowAmplitudeY(float amp)
Abstract base class for 2D flow field effects.
::fl::DrawContext DrawContext
fl::u32 millis()
Universal millisecond timer - returns milliseconds since system startup.
Base definition for an LED controller.