diff options
| author | Danilo M. <danix@danix.xyz> | 2026-11-06 17:44:16 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-11-06 17:44:16 +0100 |
| commit | f14d4ac615fe3ae62d77ed828b6150665a687033 (patch) | |
| tree | 1b8be5e1f2b7cce6212cc486215fe34e97ad3e11 /desktop/modules/appearance/burn.frag | |
| parent | df12ed91675a64afd0b0248d2487e9a94d860830 (diff) | |
| download | quickshell-f14d4ac615fe3ae62d77ed828b6150665a687033.tar.gz quickshell-f14d4ac615fe3ae62d77ed828b6150665a687033.zip | |
wallpaper: play the transition by name
Transitions.next() is asked once per run and the name goes out through
swapping, so both screens play the same effect, and the cover runs it
through WallShader, which the settings page's thumbnails will share.
progress is a plain 0 to 1 for every shader now; burn.frag keeps the
range it was tuned for by remapping it.
newImg gains a layer so it can be a shader's target: an Image sampled
directly gives the whole picture, not its PreserveAspectCrop crop.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/appearance/burn.frag')
| -rw-r--r-- | desktop/modules/appearance/burn.frag | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/desktop/modules/appearance/burn.frag b/desktop/modules/appearance/burn.frag index a5cb9c3..4f91a81 100644 --- a/desktop/modules/appearance/burn.frag +++ b/desktop/modules/appearance/burn.frag @@ -45,7 +45,9 @@ void main() { vec2 asp = vec2(aspect, 1.0); float d = length((qt_TexCoord0 - origin) * asp) / length(max(origin, 1.0 - origin) * asp); float t = mix(d, fbm(qt_TexCoord0 * asp * 5.0), 0.5); - float e = t - progress; + // Starts behind the char band, so no pixel starts out scorched, and ends + // past 1, since fbm can push a threshold a little over it. + float e = t - (progress * 1.1 - 0.05); if (e <= 0.0) { fragColor = vec4(0.0); return; } // Front to intact paper: flame, then char, then the picture. |
