//go:build ignore //kage:unit pixels package main var Time float func Fragment(dstPos vec4, srcPos vec2, color vec4) vec4 { flashState := step(0.25, mod(Time, 0.5)) strobe := flashState * 0.5 + 0.5 original := imageSrc3UnsafeAt(srcPos) silver := vec4(0.75, 0.75, 0.80, 1.0) sheen := pow(strobe, 0.5) * 0.6 + 0.4 masked := mix(original, silver, sheen) output := mix(original, masked, original.a * (0.8 + 0.2 * sin(Time * 10.0 + srcPos.x * 5.0 + srcPos.y * 5.0))) return output }