Volumetric Clouds
Cloud quality comes from density organization, lighting, and temporal stability—not from increasing march steps over unstructured noise.
This skill contains exemplary examples and assets beyond descriptive guidance,
they're worth studying, referencing, or even copying. Use them sufficiently
when relevant and do NOT blindly skip them.
System order
- Define the cloud volume and layer bounds.
- Generate or source weather, base-shape, detail, and turbulence fields.
- Build a density function with vertical and weather profiles.
- Raymarch only the bounded occupied segment.
- Integrate transmittance and lighting front-to-back.
- Reconstruct low-resolution output temporally.
- Project a separate low-cost cloud-shadow solution.
Read references/weather-volume-and-reconstruction.md before implementing or auditing the cloud system.
Read the weather volume cloud entry
and its source/ modules for weather-layer ownership, spherical shell bounds,
authored shape/detail sampling, cloud shadow maps, temporal upscale,
atmospheric composition, and package-owned diagnostics.
Required controls
- coverage, cloud type, precipitation, and anvil bias;
- base/top altitude and vertical density profile;
- shape/detail scales and erosion;
- wind for each field;
- primary step count, light step count, and empty-space policy;
- history weight and disocclusion threshold;
- cloud-shadow extent, resolution, and update rate.
Failure conditions
- density is only
fbm(position);
- the raymarch traverses the full camera range;
- detail noise adds density instead of eroding shaped masses;
- temporal history is accepted across disocclusion;
- shadows use the full beauty raymarch;
- every cloud layer shares the same wind and density profile.
Routing boundary
Use $threejs-atmosphere-aerial-perspective for molecular/aerosol scattering
without weather density. Use $threejs-procedural-vfx for emissive aurora
curtain slabs or bounded interactive voxel fire and smoke with velocity,
pressure, emitter, and collision fields. This skill owns weather-shaped cloud
volumes, reconstruction, cloud lighting, and cloud shadows.
1---2name: threejs-volumetric-clouds3description: Implement volumetric cloud systems in Three.js. Use for weather-driven density, bounded raymarching, shape/detail erosion, vertical profiles, lighting cones, silver lining, temporal reconstruction, cloud shadows, multiple layers, and scalable quality modes.4---5
6# Volumetric Clouds
7
8Cloud quality comes from density organization, lighting, and temporal stability—not from increasing march steps over unstructured noise.
9
10This skill contains exemplary examples and assets beyond descriptive guidance,
11they're worth studying, referencing, or even copying. Use them sufficiently
12when relevant and do NOT blindly skip them.
13
14## System order
15
161. Define the cloud volume and layer bounds.
172. Generate or source weather, base-shape, detail, and turbulence fields.
183. Build a density function with vertical and weather profiles.
194. Raymarch only the bounded occupied segment.
205. Integrate transmittance and lighting front-to-back.
216. Reconstruct low-resolution output temporally.
227. Project a separate low-cost cloud-shadow solution.
23
24Read [references/weather-volume-and-reconstruction.md](references/weather-volume-and-reconstruction.md) before implementing or auditing the cloud system.
25
26Read the [weather volume cloud entry](examples/weather-volume-clouds/cloud-effect.js)
27and its `source/` modules for weather-layer ownership, spherical shell bounds,
28authored shape/detail sampling, cloud shadow maps, temporal upscale,
29atmospheric composition, and package-owned diagnostics.
30
31## Required controls
32
33- coverage, cloud type, precipitation, and anvil bias;
34- base/top altitude and vertical density profile;
35- shape/detail scales and erosion;
36- wind for each field;
37- primary step count, light step count, and empty-space policy;
38- history weight and disocclusion threshold;
39- cloud-shadow extent, resolution, and update rate.
40
41## Failure conditions
42
43- density is only `fbm(position)`;
44- the raymarch traverses the full camera range;
45- detail noise adds density instead of eroding shaped masses;
46- temporal history is accepted across disocclusion;
47- shadows use the full beauty raymarch;
48- every cloud layer shares the same wind and density profile.
49
50## Routing boundary
51
52Use `$threejs-atmosphere-aerial-perspective` for molecular/aerosol scattering
53without weather density. Use `$threejs-procedural-vfx` for emissive aurora
54curtain slabs or bounded interactive voxel fire and smoke with velocity,
55pressure, emitter, and collision fields. This skill owns weather-shaped cloud
56volumes, reconstruction, cloud lighting, and cloud shadows.