Each cloud is an SWCloud object — a cluster of N
overlapping SWEllipse puffs placed at randomized
offsets around a center point. Real cumulus clouds look exactly like
this: rising air cells that merge into a single rounded mass.
Three depth layers (parallax)
- Far layer — upper sky, small, slightly gray and
semi-transparent (atmospheric haze), slow drift.
- Mid layer — middle sky, medium-sized, moderate speed.
- Near layer — lower sky, large and bright white,
fastest drift, most visible Perlin-noise morph.
This gives the illusion of depth: fast foreground clouds against
slow, hazy distant ones — just like looking at a real sky.
Perlin-noise morphing
Every frame, each puff center is nudged by an independent
noise() value that drifts slowly over time. The result
is organic, ever-changing cloud edges — not rigid ellipses.
Each puff uses a spatially unique seed so they all move differently.
Breathing
A slow SWSinusoid gently scales each puff's radius with a staggered
phase between adjacent puffs, creating the billowing "boil" you see in
real cumulus clouds developing on a warm afternoon.
Controls
- Pause — freeze all motion.
- Wind Speed — scales drift across all layers; negative = leftward wind.
- Puffs per Cloud — more puffs = rounder, more complex clouds; fewer = wispy cirrus-like streaks.
- Cloud Count — total clouds split across the three layers.
- Time of Day — changes sky gradient and cloud tinting (day / sunset / night).
- New Seed — randomizes cloud positions and shapes.
- Factory Reset — restores all default settings.