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

◆ drawWave()

void drawWave ( uint32_t now)

Definition at line 705 of file curr.h.

705 {
706 // Update wave parameters from UI
707 waveFx->setSpeed(waveSpeed.value());
708 waveFx->setDampening(waveDampening.value());
709 waveFx->setHalfDuplex(waveHalfDuplex.value());
710 waveFx->setXCylindrical(true); // Always keep cylindrical for corkscrew
711 waveFx->setStencil(waveIsotropicStencil
714
715 // Update wave color palette
716 fl::CRGBPalette16 currentPalette = getWavePalette();
717 crgMap->setGradient(currentPalette);
718
719
720
721 // Apply blur settings to the wave blend (for smoother wave effects)
722 waveBlend->setGlobalBlurAmount(waveBlurAmount.value());
723 waveBlend->setGlobalBlurPasses(waveBlurPasses.value());
724
725 // Check if manual trigger button was pressed
726 if (waveTriggerButton.value()) {
728 }
729
730 // Handle auto-triggering
732
733 // Draw the wave effect directly to the frame buffer
734 // Create a DrawContext for the wave renderer
735 fl::Fx::DrawContext waveContext(now, frameBufferPtr->span());
736 waveBlend->draw(waveContext);
737}
CRGBPalette16 currentPalette
::fl::DrawContext DrawContext
Definition fx.h:21
fl::UICheckbox waveIsotropicStencil("Wave Isotropic stencil (rounder ripples)", false)
fl::WaveCrgbGradientMapPtr crgMap
Definition curr.h:288
fl::Blend2dPtr waveBlend
Definition curr.h:283
fl::UICheckbox waveHalfDuplex("Wave Half Duplex", true)
fl::UISlider waveSpeed("Wave Speed", 0.03f, 0.0f, 1.0f, 0.01f)
void triggerWaveRipple()
Definition curr.h:658
fl::shared_ptr< fl::Grid< fl::CRGB > > frameBufferPtr
Definition curr.h:279
void processWaveAutoTrigger(uint32_t now)
Definition curr.h:682
fl::UIButton waveTriggerButton("Trigger Wave")
fl::UISlider waveDampening("Wave Dampening", 9.1f, 0.0f, 20.0f, 0.1f)
fl::CRGBPalette16 getWavePalette()
Definition curr.h:644
fl::WaveFxPtr waveFx
Definition curr.h:282
fl::UISlider waveBlurPasses("Wave Blur Passes", 1, 1, 10, 1)
fl::UISlider waveBlurAmount("Wave Blur Amount", 50, 0, 172, 1)

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

Referenced by loop().

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