fluteFrame
The geometry of fluted (reeded) glass over the child: where each pixel reads through the glass, how far its colors split, and the slope of the flute at that point.
fluteFrame(opts: {
shape: PropRef
angle: ArgSpec
frequency: ArgSpec
softness: ArgSpec
waveAmplitude: ArgSpec
waveFrequency: ArgSpec
refraction: ArgSpec
aberration: ArgSpec
}): GatherFrame
Import effects from shaders/std and use effects.blurs.fluteFrame.
shape is a compileTime prop whose transform maps 'bars', 'rounded' and 'waves' to 0, 1 and 2. angle is in degrees, 0 for vertical flutes. frequency is the number of flutes across the longer edge (1–20). softness (0–1) eases each flute from flat-with-sharp-seams to a gentle curve. waveAmplitude and waveFrequency shape the waves variant only. refraction (0–4) is how hard each flute bends the child. aberration (0–1) is the color split at the seams. The pattern drifts on the layer's clock, so declare animatedTime: {speed: 'speed'}. Keep the frame in a module constant and pass it to refractedTaps and fluteHighlight.
Parameters
| Name | Type | Notes |
|---|---|---|
opts | `{ |
shape: PropRef
angle: ArgSpec
frequency: ArgSpec
softness: ArgSpec
waveAmplitude: ArgSpec
waveFrequency: ArgSpec
refraction: ArgSpec
aberration: ArgSpec
}` | |
Example
const flute = fluteFrame({shape: p('shape'), angle: p('angle'), frequency: p('frequency'), softness: p('softness'), waveAmplitude: p('waveAmplitude'), waveFrequency: p('waveFrequency'), refraction: p('refraction'), aberration: p('aberration')})
See also
refractedTaps— The child seen through a flute frame, with edge handling and a color split whenaberrationis above 0.fluteHighlight— A specular highlight running along each flute, added on top of the child's color.GatherFrame