Effect Samples - AlbertGBarber/PixelSpork GitHub Wiki
Jump to the Effect Sample Gifs.
This page shows an example of each effect in action and some quick reference info for each.
All the effects will be run on the same 2D segment set, consisting of 60 LEDs split into two equal segments (rows), formed into a 2x30 matrix. While the LEDs are physically connected in serpentine order, matching the images below, the segments will be oriented in the same direction, so that they mirror one another.
In Code:
//The first half of the strip, setup using a continuous section that starts at 0, and is NUM_LEDS/2 long
const PROGMEM segmentSecCont halfSec0[] = { {0, NUM_LEDS / 2} };
SegmentPS halfSeg0 = { halfSec0, SIZE(halfSec0), true };
//The second half of the strip, setup using a continuous section that starts at NUM_LEDS/2 and is NUM_LEDS/2 long
const PROGMEM segmentSecCont halfSec1[] = { {NUM_LEDS / 2, NUM_LEDS / 2} };
//Note that we specify the direction of the segment to be false, this mirrors the segment from halfSeg0 above
SegmentPS halfSeg1 = { halfSec1, SIZE(halfSec1), false };
//Create the segment set using both segments (named halfSegSet)
SegmentPS *halfSegs_arr[] = { &halfSeg0, &halfSec1};
SegmentSetPS halfSegsSet( leds, NUM_LEDS, halfSegs_arr, SIZE(halfSegs_arr) );
-
The effect samples were captured using live pixel data with the aid of Screen To Gif and my fork of NeoPill (originally by Randy Elwin). While the software does a good job of representing the effects, it cannot replicate the "glow" of the pixels, loosing a lot of color "depth", so effects will look substantially better in real life, particularly those that have fading or transitioning colors. Likewise, your own display settings also effect the samples' appreances.
-
Unless otherwise noted, any 2D capable effects will use the segment set above as is. Any 1D effects, or samples treating the segment set as 1D will be called out.
-
Unless otherwise noted, if possible, effects will use the built-in cybPnkPal_PS palette (magenta-yellow-teal).
-
Some effects come in pairs, with one version configured to draw along segment lines and one on whole segments, such as Fire2012 (Seg) and Fire2012 (Seg Line). For such effects, I'll show the segment line version only.
-
Some effects have "fast" and "non-fast" versions. As their outputs are equivalent, I'll only show the non-fast variant.
-
Many effects are highly customizable. In some cases I may include multiple samples of an effect to help better demonstrate its capabilities.
Effect Sample | Effect Name | Notes | Supports Color Modes? |
Multiple modes for cycling colors, including a rainbow mode. | No | ||
Options for setting or randomizing the "eye" location, size, etc. Multiple modes for cycling colors, including a rainbow mode. | No | ||
Based on the Pixel Blaze pattern of the same name. Shown in rainbow mode, but supports palettes as well. Looks much more fluid IRL. | No | ||
1
2
3
4
|
Shown using color modes 1 to 4. Ignore the slight glitches in the gifs, all segment lines/segments transition as solid colors. Config notes. | Yes | |
Color wipes segments pixel by pixel. Many options for looping in different ways. Loop Settings. | Yes | ||
Color wipes whole segment lines or segments. Many options for looping in different ways. Loop Settings. | Yes | ||
Fades whole segment set through colors. Looks much better IRL. Options for choosing colors at random. | No | ||
Lots of options for how the next colors are chosen. | Yes | ||
Draws a static pattern. Can be drawn across whole segments, segment lines, or individual pixels.
Color length and spacing are customizable. May work well with a blending palette. |
Yes | ||
Based on the Pixel Blaze pattern of the same name. Shown in rainbow mode, but supports palettes as well. Options for setting or randomizing the wave start point. | No | ||
Twinkle Mode 0
Twinkle Mode 1
Twinkle Mode 2
|
Shown in 1D, but supports 2D along whole segments or segment lines. Multiple twinkling modes (all displayed). | Yes | |
Segment version show, line version draws fires along each segment line. Supports custom palettes, shown using the firePal_PS built-in palette. | No | ||
Randomly moving particles that fade in and out. Shown in 1D, but supports 2D. Supports palettes, but shown using a single color, CRGB(222, 144, 9). | Yes | ||
1D only. Lots of options for controlling size, speed, etc of the "fireworks". | Yes | ||
Random groups of pixels that fade in and out. Looks better IRL. | Yes | ||
Cycles gradients across the segment set. Looks MUCH better IRL. Fast version is less CPU intensive, but has restrictions. | No | ||
Scan Mode 0
Scan Mode 2
|
Replicates various classic "scanners", like Cylon, Kitt, etc. Modes 0 and 1 shown in CRGB::Red. Supports only a single color. Fading trails are MUCH nicer IRL. | Yes* | |
1D only (but still looks 2D). Looks great IRL! Shown using default lava palette, but supports general palettes and has a rainbow mode. Quite customizable. | No | ||
General noise playground based on the noise effects by Andrew Tuline. 1D only. Very customizable, but can be tricky to get a specific look. | No | ||
A 2D noise playground, producing spots of color that shift and morph across the segment set. Lots of options, including a rainbow mode. Looks MUCH better in IRL, and works well in 1D. | For BG | ||
Draws palette color gradients using noise. Lots of options. Looks MUCH better in IRL. | For BG | ||
Waves of palette colors and brightness that grow and shrink using noise. Looks MUCH better in IRL. | For BG | ||
Port of FastLED's Pacifica effect. 1D only. Has a much nicer teal-blue mix IRL. | No | ||
2D and multi-hue version of the Pacifica effect. Shown cycling through hues, but can be locked to a specific color. | No | ||
Using Rear Trails
No Trails
Both Infinite and No Trails
|
General particle drawing effect. Shown in 1D. Multiple trail options. Particles can be individually configured or randomized. Trail fading looks MUCH better IRL. | Yes | |
Moves custom patterns either along segments or segment lines (segment line version shown). Patterns are 2D and fully user defined. See here for the shift pattern used. | Yes | ||
Blended palette color waves that shift over time. Based on the code by Andrew Tuline | No | ||
A strobe to mimic police lights. Multiple strobe modes avalible. Options for using dual colors (shown) or a palette. | Yes | ||
Ported versions of Pride2015 adapted for 2D and palettes (shown in rainbow mode).
In Pride With Pal 2 the colors move orthogonal to the original effect. This cannot be well represented on the two segment sample, but looks like this effect (credit to Jason Coon for the inspiration!) |
No | ||
A very simple, but classic effect. A good place to start. Configurable rainbow length. | No | ||
2D version of the Rainbow Cycle effect. Can be configured to draw along segments or segment lines. | No | ||
Based on the Pixel Blaze pattern of the same name. Rainbow waves that grow and shrink. Mostly the same as the original effect, but adapted for 2D. More smooth IRL. | No | ||
Falling rain drops that either fall along segment lines or segments (segments version shown). Multiple trail options. Fading trails look much better IRL. | Yes | ||
Cycles waves across the strip. Leading, trailing, and double wave options. Looks MUCH better IRL, with clearer fades. Fast version is less CPU intensive, but has restrictions. | Yes | ||
Creates a set of "scanner" waves. Lots of options for trails, configuring wave start positions, color swapping, bouncing, etc. | Yes | ||
Lengths of color that smoothly move across whole segments, like Streamer but for segments. | Yes* | ||
Shift Mode 0
Shift Mode 1
|
Creates a sea of changing colors by blending each segment line through the palette colors.
The lines can be given a random offset (mode 0), or a limit range (mode 1). Also has a rainbow mode. Looks MUCH better IRL. |
No | |
Randomly dims each pixel or segment line (configurable). Shown in CRGB::Red for clarity, but is palette compatible. | Yes | ||
A very simple effect that mimics classic white incandescent Christmas lights that gently twinkle on/off. Color is fixed. Shown in 1D. | No | ||
Lengths of color that smoothly move across segment lines. | Yes | ||
A Simple Strobe
More Complex
|
A 2D strobing effect with a lot of options, and multiple modes. See here for second sample config. | Yes | |
A simpler version of Streamer. Customizable color lengths and spacing, but only supports one color at a time. | Yes | ||
Twinkle
Twinkle 2 in 2D
|
and |
Shown in 1D. Randomly fades pixels in and out using a configurable number of steps. Twinkle 2 is a more advanced version of the effect, with more customization, and can use single pixels, segment lines, or whole segments. | Yes* |
Mimics classic colored twinkling Christmas Lights by drawing a pattern of colors and toggling random pixels on/off. Can be drawn on segment lines, whole segments, or in 1D. Configurable pattern, twinkle color, density, etc. | Yes |
The segment set was configured to shift the color mode gradient using the following setup:
mainSegments.runOffset = true;
mainSegments.gradSegVal = 5;
mainSegments.offsetRateOrig = 80;
colorWipeSeg.setUpLoop(true, false, true, false, false, false, false);
was used to create the loop.
colorWipeSL.setUpLoop(true, 2, false, 1, true, false, false, false, false);
was used to create the loop.
The Larson Scanner effect uses an instance of the Particles effect. Particles supports color modes, but they are not set directly in the Larson Scanner effect.
The following shift pattern was used for the Pattern Shifter sample:
uint16_t wavePattern_arr[(2 + 2) * 6] = { //<--(<<how long each "row"is>>) * <<number of rows>>
0, 2, 0, 255,
2, 4, 1, 255,
4, 6, 2, 255,
6, 8, 255, 2,
8, 10, 255, 1,
10, 12, 255, 0,
};
shiftPatternPS wavePattern(mainSegments, mainSegments.numSegs, wavePattern_arr, SIZE(wavePattern_arr));
The effect is only compatible with Color Modes 2, 4, 5, 7, 9, and 10.
The following settings were applied to the strobe effect to produce the second sample:
strobe.sMode3Freq = 3;
strobe.randMode = 2;
strobe.alternate = true;
strobe.fillBg = false;
strobe.fillBGOnPause = false;
When twinkling whole segments, the Twinkle 2 effect is not compatible with Color Modes 1, 6, 2, 7, 3, 8. (No restrictions if twinkling segment lines or individual pixels.