mcpbeat

Threejs Atmosphere Aerial Perspective

scottstts/threejs-atmosphere-aerial-perspective

Implement physically motivated sky and aerial-perspective systems in Three.js. Use for planetary atmospheres, ground-to-space transitions, Rayleigh/Mie scattering, precomputed LUTs, depth-based transmittance and inscattering, sun/moon discs, and atmosphere-aware lighting.

3219k tokens
context cost
the whole folder, loaded on every use
100
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
527
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/scottstts/Threejs-Awesome-Graphics-Agent-Skills --skill threejs-atmosphere-aerial-perspective

The instruction itself

5 sections, as written by the author

Atmosphere and Aerial Perspective

Treat sky rendering and aerial perspective as two views of the same scattering model. They must share radii, density profiles, coefficients, sun direction, exposure scale, and coordinate transforms.

Choose the implementation tier

  • Small scene with no orbital camera: analytic height/distance approximation.
  • Planetary ground-to-space camera: ray integration or precomputed LUTs.
  • Large geospatial world: LUTs plus world-to-planet transform, altitude correction, and depth-aware aerial perspective.

Read references/atmosphere-system-contract.md

before implementation. It separates the LUT/ellipsoid architecture from

dynamic integration and the shell/post handoff.

Read the LUT sky and aerial-perspective entry

and its source/ modules for the SkyMaterial, SkyLightProbe,

SunDirectionalLight, AerialPerspectiveEffect, precomputed-texture loader,

sun/moon direction, lens flare, tone mapping, and dithering path used by the

LUT example.

Required outputs

  • sky radiance;
  • sun transmittance/color;
  • segment transmittance from camera to visible surface;
  • segment inscattering;
  • optional sky irradiance for materials;
  • explicit scale conversion between world units and atmosphere units.

Failure conditions

  • sky and terrain haze use different sun directions or coefficients;
  • the atmosphere is a uniformly transparent sphere;
  • camera altitude is measured in a local flat frame during orbital motion;
  • scene depth is treated as linear when it is not;
  • exposure is used to hide incorrect radiance scale;
  • atmosphere fades abruptly at shell entry.

Routing boundary

This skill owns molecular/aerosol sky scattering and surface-segment aerial

perspective. Use $threejs-volumetric-clouds for weather-shaped cloud density,

temporal cloud reconstruction, and cloud shadows. Use

$threejs-procedural-vfx for emissive aurora curtain volumes and their

perspective/equirectangular radiance materials.

How to use it

Copy the folder

Take scottstts/threejs-atmosphere-aerial-perspective from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.