Commit Graph

645 Commits

Author SHA1 Message Date
Frank
3a506aded2 trying to keep scrolling text readable
the problem (partly solved) is that scrolling text does not erase any previous text, but simply paints pixels in addition.

* add a "shadow" area around each letter, which is explicitly painted black
* only possible when  Trail=0, and overlay option selected
2024-09-28 02:12:53 +02:00
Troy
7bb351b185 Minor updates to Paintbrush 2024-08-17 08:15:27 -04:00
Troy
324f3acd59 Merge branch 'MoonModules:mdev' into mdev 2024-08-17 00:58:29 -04:00
Will Tatam
b0b3e75556 Move getAudioData to static 2024-08-15 16:22:24 +01:00
Will Tatam
3b551a40f3 Remove repeating code to fetch audio data 2024-08-15 10:51:26 +01:00
Troy
340197fd91 Merge branch 'mdev' of https://github.com/troyhacks/WLED into mdev 2024-08-13 12:13:29 -04:00
Troy
38d30723a0 2D Audio Reactive Paintbrush Effect 2024-08-13 12:13:14 -04:00
Frank
a44aa92c75 playing with Fire2012
* speedup: add functions to only blur rows or columns (50% faster)

* fire2012: tinkering with bur options. Vertical blur only when slider < 64 (faster); extra blur for  slider values >192 (bush burn)
2024-08-09 12:55:04 +02:00
Blaž Kristan
89412b999d Merge pull request #4078 from apanteleev/fire-blur-control
Add a parameter for blur amount in the Fire 2012 effect
2024-08-09 12:19:31 +02:00
Frank
d00b3147b4 Waverly: better slider names
Slider names were misleading.
First slider: fade speed (low values means longer hold times)
Second slider: signal gain (i.e. amplification)
2024-08-08 22:28:14 +02:00
Frank
28db9bfcfd waverly effect speedup
* faster math
* limit height to visible area
2024-08-08 22:03:49 +02:00
Frank
42919f9daf blob effect improvements, and a dirty hack for HUB75 double buffer
* mode_2Dfloatingblobs() improvements for large panels
* Segment::fillCircle() speed optimizations
* HUB75 hack (disabled by default): skip first fill(BLACK) when using double buffering (as the buffer gets cleared after each frame)
2024-08-06 15:53:46 +02:00
Troy
9ee4165dad Freqmatrix stop identical first pixel/line 2024-08-05 16:37:49 -04:00
Frank
6505e04cbf minor effect improvements
* 2DBlackHole: improved accuracy
* 2Dfloatingblobs: draw anti-aliased blobs when "blur" slider = 1
* FX framework: un-clutter and optimize "XY()"
2024-08-05 17:09:50 +02:00
Brandon502
33accd8671 GoL - Optimizations
Uncapped update option if speed set to 255.
2024-07-21 15:40:24 -04:00
Frank
afa6e31ddd GEQ 3D: improve display for small panels
provides a bit more space for the "laser" when panel height is below 18.
2024-07-17 16:15:29 +02:00
Frank
2ba6350cbd GEQ 3D bugfixing and minor improvements
* prevent loss of projector when changing segment witdth (mirror).
* prevent unsigned wrap-around "0 -1" for projector
* use aux0 and aux1 segment vars (use them as signed)
* change default NUM_BANDS to 50% - better for smaller panels
* if less than 16 bands : map to full range instead of only showing lower frequencies - same behavious as GEQ 2D.
2024-07-17 15:24:21 +02:00
Frank
13dd7f3407 fixing a possible drawLine with x < 0 in GEQ 3D 2024-07-17 12:44:35 +02:00
Frank
40c2ef4e98 GEQ 3D robustness improvements
* require at least a 3x3 setup
* make sure that NUM_BANDS is limited by available columns
* avoid drawing with negative Y
* slightly reduce default "front fill", so that "borders" has a visible effect when running with defaults
2024-07-17 12:29:15 +02:00
Troy
6808572907 doSoft fix for GEQ 3D 2024-07-16 19:05:11 -04:00
Troy
7b8d025a24 GPL3 License for GEQ 3D 2024-07-16 18:46:23 -04:00
Frank
9bcc5da132 code cleanup
- removed commented-out code
- reduced blank lines
2024-07-16 20:48:15 +02:00
Frank
98bd7acf1a Merge pull request #143 from MoonModules/3DGEQ
3D GEQ, plus performance improvements when drawing lines.
2024-07-16 20:03:46 +02:00
Frank
1f14673f43 workaround for "cannot read properties of undefined. reading 'split'
hmpf ... looks like somewhere deep in WLED, the FX name string gets limited to 127 chars....
2024-07-16 16:08:08 +02:00
Frank
e3b4a08393 soft light option
* bugfix for Borders (did not work with <16 bands)

* new option for soft light: when checked, the left & right edges of top lights are drawn with anti-aliasing on. Costs us 1-2 fps, so I made it optional.
2024-07-16 16:03:19 +02:00
Frank
e3d27de395 better handling of perspective
drawLine parameter "depth" shortens a line by a fraction - useful for VP perspective (vanishing point)
2024-07-16 13:27:56 +02:00
Frank
9928f5b9ec fixie 2024-07-15 18:27:25 +02:00
Frank
88d12547a4 FX.cpp: scrolling text tag #pow --> #amp
scrolling text: #pow --> #amp
because its ampere, not power.
2024-07-15 18:24:27 +02:00
Frank
6565e716ab GEQ speedup
use drawLine() to draw a complete bar at once. Only possible if _not_ doing colored bars.
2024-07-15 18:14:30 +02:00
Troy
98c15d7ec0 Borders checkbox 2024-07-15 08:18:42 -04:00
Troy
54f9d4ca6d Borders checkbox for @netmindz
Netmindz likes the borders. Now a check-box to enable.
2024-07-15 08:17:00 -04:00
Frank
5401328b6e loop optimizations
* made cols/rows integer, to avoid that "cols-x" wraps around
* pre-compute some expressions that don't depend on loop counters

--> wins us 1-4 fps on my 72x72 test setup
2024-07-15 14:05:19 +02:00
Frank
4f6eb8b161 prevent array bounds violation
+ don't use dynamic array for heights[] - dynamic arrays are using malloc() -> heap frag.
2024-07-15 13:24:18 +02:00
Frank
6d1615189b Merge branch 'mdev' into 3DGEQ 2024-07-15 12:33:48 +02:00
Frank
d0927a5142 akemi and GEQ didn't like map2 2024-07-15 12:29:29 +02:00
Frank
d2762c35b0 Update FX.cpp
* add more accurate version of map() - reduces slight flickering in some 2D effects
* cache fftResult[] in effects (um_data->fftresult might get updated while the effect still calculates)
2024-07-15 11:57:46 +02:00
Troy
3857862e03 Optimized side-wall drawing
Only draw what will be visible.

This is a pretty solid speed increase when the adjacent bar is close in height, or if it's taller and would occlude it anyway, it'll be skipped.
2024-07-14 22:32:42 -04:00
Troy
643f82daf0 Don't use new soft drawline() option 2024-07-12 22:32:14 -04:00
Troy
4c8d500215 Seems someone improved drawline() - fixed for this 2024-07-12 22:12:59 -04:00
Troy
52130e176c Merge branch 'mdev' into 3DGEQ 2024-07-12 22:10:39 -04:00
Troy
ce8f01bf90 Bugfixed GEQ 3D
Bug fixes after lots of testing, better settings, etc.

Big thanks to @netmindz  for restructuring the code.

Add rough distance stop to Segment::drawLine()
2024-07-12 22:03:33 -04:00
Will Tatam
aed861d063 GEQ Laser use SEGMENT.data 2024-07-10 23:58:35 +01:00
Will Tatam
8f4380b075 Rename 3D GEQ to GEQ Laser 2024-07-10 23:51:53 +01:00
Will Tatam
bda4bbeeec 3D GEQ - fade speed 2024-07-10 23:00:42 +01:00
Will Tatam
3fd8078722 3D GEQ - customisable number of bands 2024-07-10 09:40:40 +01:00
Will Tatam
cb3d06bc89 3D GEQ - variable front brightness 2024-07-10 09:24:26 +01:00
Will Tatam
f6cd28cea2 3D GEQ - customisable number of bands 2024-07-10 09:20:58 +01:00
Will Tatam
45f288a2f2 3D GEQ - make front brightness a control 2024-07-10 08:59:05 +01:00
Will Tatam
2d7e416879 ; 2024-07-10 08:33:42 +01:00
Will Tatam
e452d4d316 Add @TroyHacks 3D GEQ 2024-07-10 08:26:07 +01:00