Commit Graph
11 Commits
Author SHA1 Message Date
emil28092005 92e8b287a3 Render the ice as long videos and play them as wallpapers
render_wallpaper.py drives headless Firefox frame by frame (four at a time,
resuming where it stopped), then ffmpeg. Thirty seconds at 30 fps is exactly
one plasma cycle, so frame 900 meets frame 0 and the loop has no seam.

plasma-plugin/dev.emil.video is a minimal Plasma 6 video wallpaper: one file
per screen, filling the screen, looping. H.264 is encoded Baseline because
Qt here decodes through openh264, which rejects High profile and leaves a
frozen frame; a new source also has to be played explicitly.

The #shot hash learned info=0 to hide the on-screen hint for renders.
2026-10-31 01:22:16 +03:00
emil28092005 3f638a286a Show the three pages in the README with renders of the current shaders 2026-10-31 00:24:32 +03:00
emil28092005 063e2646fc Document the three pages, the two passes and how to build them 2026-10-31 00:17:22 +03:00
emil28092005 6dbcd630f4 Add frozen fish: dark silhouettes crossing the slab, cold blue eyes
Two of the eight sheets carry fish instead of only plasma. Each fish cuts
straight across the slab once per cycle (thirty seconds, period preserved),
three per sheet, sizes spread by pow(hash, 2.6) so most are small and now
and then one is huge. Sheets sit near the front (0 and 1) so the silhouettes
are not buried under the layers in front of them; their alpha carries
coverage instead of depth.

The fish ride screen space, since the sheets themselves stretch up to four
times towards the frame edges, and are bent by the smooth swell of the
surface only: the crack steps flip the slope within a pixel and would slice
a fish to bits. Eyes are a small cold blue glow, the only light they have.

debug_fish.frag renders the shapes flat for inspection.
2026-10-30 21:54:59 +03:00
emil28092005 aeea839b66 Supersample the shard 3x3
Pass 2 magnifies the object sheet where the surface steepens at the cracks,
so a one-pixel silhouette showed up as hard blocks. Nine jittered rays per
pixel give the edge a soft ramp instead.
2026-10-30 21:33:18 +03:00
emil28092005 62355eb047 Refract the shard with the ice again and make it bigger
It is sampled at the refracted position like every other sheet, so the
cracks cut across it and bend its silhouette; SHARD 0.70 -> 0.95.
2026-10-30 21:31:34 +03:00
emil28092005 01123b8bac Add ice_object.html: a faceted crystal shard frozen in the slab
Pass 1 draws one raymarched gem on sheet 1 instead of plasma; its alpha
carries coverage rather than depth, so pass 2 can light it as a solid
while every other sheet still absorbs by path length.
2026-10-30 21:30:09 +03:00
emil28092005 366ff39662 Sharpen the ice: finer ridged grain, hairline seam sheen, more dispersion
Normals are now sampled at 0.008 so the creases resolve instead of being averaged
away, and the seam sheen only lights the crack walls, which keeps the open water
black. Fracture steps are trimmed so the sheets break at a seam instead of smearing
into a pale ribbon.
2026-10-30 20:30:03 +03:00
emil28092005 ff7b09adef Sharpen the static ice surface
Ridged grain replaces the smooth swells, and two families of fracture lines step the
height, so the refracted sheets break across hard seams instead of drifting. The
height field stays time-independent: only the plasma moves. Grazing rays at a step
are clamped so the sheets never smear off the atlas.
2026-10-30 20:18:28 +03:00
emil28092005 4fce1000f6 Keep the darker plume tuning and the tighter ice surface
Reverts the brighter fill: lit tops against near-black undersides, and the
higher-frequency surface undulation that separated the sheets more clearly.
2026-10-30 19:57:07 +03:00
emil28092005 27d238cbe6 Ice slab with layered plasma, two-pass refraction
Pass 1 renders eight plasma sheets into an atlas with linear depth in alpha;
pass 2 marches the refracted ray to each sheet and absorbs it by real path
length, so near and far layers separate under pointer parallax. Plasma cycle
repeats exactly every 30 s; - / = change speed.
2026-10-30 19:56:16 +03:00