FastLED 3.9.15
Loading...
Searching...
No Matches

◆ drawWave()

void drawWave ( uint32_t now)

Definition at line 717 of file curr.h.

717 {
718 // Update wave parameters from UI
719 waveFx->setSpeed(waveSpeed.value());
720 waveFx->setDampening(waveDampening.value());
721 waveFx->setHalfDuplex(waveHalfDuplex.value());
722 waveFx->setXCylindrical(true); // Always keep cylindrical for corkscrew
723
724 // Update wave color palette
725 CRGBPalette16 currentPalette = getWavePalette();
726 crgMap->setGradient(currentPalette);
727
728
729
730 // Apply blur settings to the wave blend (for smoother wave effects)
731 waveBlend->setGlobalBlurAmount(waveBlurAmount.value());
732 waveBlend->setGlobalBlurPasses(waveBlurPasses.value());
733
734 // Check if manual trigger button was pressed
735 if (waveTriggerButton.value()) {
737 }
738
739 // Handle auto-triggering
741
742 // Draw the wave effect directly to the frame buffer
743 // Create a DrawContext for the wave renderer
744 Fx::DrawContext waveContext(now, frameBufferPtr->data());
745 waveBlend->draw(waveContext);
746}
CRGBPalette16 currentPalette
_DrawContext DrawContext
Definition fx.h:21
UISlider waveBlurAmount("Wave Blur Amount", 50, 0, 172, 1)
Blend2dPtr waveBlend
Definition curr.h:295
void triggerWaveRipple()
Definition curr.h:670
UISlider waveDampening("Wave Dampening", 9.1f, 0.0f, 20.0f, 0.1f)
void processWaveAutoTrigger(uint32_t now)
Definition curr.h:694
WaveFxPtr waveFx
Definition curr.h:294
UISlider waveSpeed("Wave Speed", 0.03f, 0.0f, 1.0f, 0.01f)
UICheckbox waveHalfDuplex("Wave Half Duplex", true)
CRGBPalette16 getWavePalette()
Definition curr.h:656
fl::shared_ptr< Grid< CRGB > > frameBufferPtr
Definition curr.h:291
UIButton waveTriggerButton("Trigger Wave")
WaveCrgbGradientMapPtr crgMap
Definition curr.h:300
UISlider waveBlurPasses("Wave Blur Passes", 1, 1, 10, 1)

References crgMap, currentPalette, frameBufferPtr, getWavePalette(), processWaveAutoTrigger(), triggerWaveRipple(), waveBlend, waveBlurAmount(), waveBlurPasses(), waveDampening(), waveFx, waveHalfDuplex(), waveSpeed(), and waveTriggerButton().

Referenced by loop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: