#912 by GitHub stars

scottstts/Threejs-Awesome-Graphics-Agent-Skills

A three.js agent skills for producing awesome graphics for scenes and games

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/threejs-atmosphere-aerial-perspective/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-bloom/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-camera-direction/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-exposure-color-grading/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-image-pipeline/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-parallax-occlusion-mapping/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-precipitation-surfaces/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-animation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-architecture/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-fields/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-geometry/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-materials/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-planets/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-vegetation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-procedural-vfx/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-raymarched-space-effects/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-screen-space-ambient-occlusion/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-shadow-systems/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-skill-router/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-spectral-ocean/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-temporal-surfaces/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-visual-validation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-volumetric-clouds/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

skills/threejs-water-optics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

53eb5a240974 → 53eb5a240974

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 53eb5a240974

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 53eb5a24097425d82532ec33697ad472750132a4

git clone --filter=blob:none --no-checkout https://github.com/scottstts/Threejs-Awesome-Graphics-Agent-Skills.git .hotskills/scottstts-threejs-awesome-graphics-agent-skills && git -C .hotskills/scottstts-threejs-awesome-graphics-agent-skills checkout --detach 53eb5a24097425d82532ec33697ad472750132a4 # Copy each selected skill directory from .hotskills/scottstts-threejs-awesome-graphics-agent-skills into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/scottstts/Threejs-Awesome-Graphics-Agent-Skills.git .hotskills/scottstts-threejs-awesome-graphics-agent-skills && git -C .hotskills/scottstts-threejs-awesome-graphics-agent-skills checkout --detach 53eb5a24097425d82532ec33697ad472750132a4 # Copy each selected skill directory from .hotskills/scottstts-threejs-awesome-graphics-agent-skills into .agents/skills/<skill-name>/
976GitHub stars
23stars in 7 days
24skills in this repository
6commits in 30 days

Heat

5.6
  • Star growth, last 7 daysAhead of 92% of tracked repositories
  • Star growth, last 24 hoursAhead of 3% of tracked repositories
  • Rank movement, last 7 daysAhead of 62% of tracked repositories
  • Commits, last 30 daysAhead of 71% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 5, 2026976

Individual skills in this repository

How it works

threejs-atmosphere-aerial-perspective

When your agent uses it

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.

What it loads into context

Frontmatter

69 tokens

Always available to the agent

SKILL.md

571 tokens

When the skill is activated

Reference documents

1,717 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Choose the implementation tier
  2. Required outputs
  3. Failure conditions
  4. Routing boundary

Scripts executed separately

  • examples/lut-aerial-perspective/atmosphere-effect.js
  • examples/lut-aerial-perspective/source/atmosphere/AerialPerspectiveEffect.ts
  • examples/lut-aerial-perspective/source/atmosphere/AtmosphereMaterialBase.ts
  • examples/lut-aerial-perspective/source/atmosphere/AtmosphereParameters.ts
  • examples/lut-aerial-perspective/source/atmosphere/IrradianceMaskPass.ts
  • examples/lut-aerial-perspective/source/atmosphere/PrecomputedTexturesLoader.ts
  • examples/lut-aerial-perspective/source/atmosphere/SkyLightProbe.ts
  • examples/lut-aerial-perspective/source/atmosphere/SkyMaterial.ts
  • examples/lut-aerial-perspective/source/atmosphere/StarsGeometry.ts
  • examples/lut-aerial-perspective/source/atmosphere/StarsMaterial.ts
  • examples/lut-aerial-perspective/source/atmosphere/SunDirectionalLight.ts
  • examples/lut-aerial-perspective/source/atmosphere/blackBodyChromaticity.ts
  • examples/lut-aerial-perspective/source/atmosphere/celestialDirections.ts
  • examples/lut-aerial-perspective/source/atmosphere/constants.ts
  • examples/lut-aerial-perspective/source/atmosphere/getAltitudeCorrectionOffset.ts
  • examples/lut-aerial-perspective/source/atmosphere/getSunLightColor.ts
  • examples/lut-aerial-perspective/source/atmosphere/helpers/functions.ts
  • examples/lut-aerial-perspective/source/atmosphere/helpers/sampleTexture.ts
  • examples/lut-aerial-perspective/source/atmosphere/index.ts
  • examples/lut-aerial-perspective/source/atmosphere/shaders/index.ts
  • examples/lut-aerial-perspective/source/atmosphere/types.ts
  • examples/lut-aerial-perspective/source/effects/DepthEffect.ts
  • examples/lut-aerial-perspective/source/effects/DitheringEffect.ts
  • examples/lut-aerial-perspective/source/effects/DownsampleThresholdMaterial.ts
  • examples/lut-aerial-perspective/source/effects/GeometryEffect.ts
  • examples/lut-aerial-perspective/source/effects/GeometryPass.ts
  • examples/lut-aerial-perspective/source/effects/LensFlareEffect.ts
  • examples/lut-aerial-perspective/source/effects/LensFlareFeaturesMaterial.ts
  • examples/lut-aerial-perspective/source/effects/NormalEffect.ts
  • examples/lut-aerial-perspective/source/effects/createHaldLookupTexture.ts
  • examples/lut-aerial-perspective/source/effects/index.ts
  • examples/lut-aerial-perspective/source/effects/setupMaterialsForGeometryPass.ts
  • examples/lut-aerial-perspective/source/geospatial/ArrayBufferLoader.ts
  • examples/lut-aerial-perspective/source/geospatial/DataLoader.ts
  • examples/lut-aerial-perspective/source/geospatial/EXR3DLoader.ts
  • examples/lut-aerial-perspective/source/geospatial/Ellipsoid.ts
  • examples/lut-aerial-perspective/source/geospatial/EllipsoidGeometry.ts
  • examples/lut-aerial-perspective/source/geospatial/Geodetic.ts
  • examples/lut-aerial-perspective/source/geospatial/PointOfView.ts
  • examples/lut-aerial-perspective/source/geospatial/Rectangle.ts
  • examples/lut-aerial-perspective/source/geospatial/STBNLoader.ts
  • examples/lut-aerial-perspective/source/geospatial/Texture3DLoader.ts
  • examples/lut-aerial-perspective/source/geospatial/TileCoordinate.ts
  • examples/lut-aerial-perspective/source/geospatial/TilingScheme.ts
  • examples/lut-aerial-perspective/source/geospatial/TypedArrayLoader.ts
  • examples/lut-aerial-perspective/source/geospatial/assertions.ts
  • examples/lut-aerial-perspective/source/geospatial/bufferGeometry.ts
  • examples/lut-aerial-perspective/source/geospatial/constants.ts
  • examples/lut-aerial-perspective/source/geospatial/decorators.ts
  • examples/lut-aerial-perspective/source/geospatial/defineShorthand.ts
  • examples/lut-aerial-perspective/source/geospatial/helpers/projectOnEllipsoidSurface.ts
  • examples/lut-aerial-perspective/source/geospatial/index.ts
  • examples/lut-aerial-perspective/source/geospatial/math.ts
  • examples/lut-aerial-perspective/source/geospatial/resolveIncludes.ts
  • examples/lut-aerial-perspective/source/geospatial/shaders/index.ts
  • examples/lut-aerial-perspective/source/geospatial/typedArray.ts
  • examples/lut-aerial-perspective/source/geospatial/typedArrayParsers.ts
  • examples/lut-aerial-perspective/source/geospatial/types.ts
  • examples/lut-aerial-perspective/source/geospatial/unrollLoops.ts
  • examples/lut-aerial-perspective/source/vendor/tiny-invariant.ts
  • examples/lut-aerial-perspective/source/vendor/url-join.ts

Files

  • SKILL.mdcore2,775 bytes
  • agents/openai.yamlasset242 bytes
  • assets/lut-aerial-perspective/THIRD_PARTY_LICENSES.mddoc1,218 bytes
  • assets/lut-aerial-perspective/irradiance.binasset8,192 bytes
  • assets/lut-aerial-perspective/irradiance.exrasset2,306 bytes
  • assets/lut-aerial-perspective/scattering.binasset8,388,608 bytes
  • assets/lut-aerial-perspective/scattering.exrasset4,089,916 bytes
  • assets/lut-aerial-perspective/transmittance.binasset131,072 bytes
  • assets/lut-aerial-perspective/transmittance.exrasset28,047 bytes
  • examples/lut-aerial-perspective/atmosphere-effect.jsruns354 bytes
  • examples/lut-aerial-perspective/example-render.jpegasset25,762 bytes
  • examples/lut-aerial-perspective/source/atmosphere/AerialPerspectiveEffect.tsruns20,175 bytes
  • examples/lut-aerial-perspective/source/atmosphere/AtmosphereMaterialBase.tsruns9,005 bytes
  • examples/lut-aerial-perspective/source/atmosphere/AtmosphereParameters.tsruns2,183 bytes
  • examples/lut-aerial-perspective/source/atmosphere/IrradianceMaskPass.tsruns5,280 bytes
  • examples/lut-aerial-perspective/source/atmosphere/PrecomputedTexturesLoader.tsruns3,816 bytes
  • examples/lut-aerial-perspective/source/atmosphere/SkyLightProbe.tsruns4,226 bytes
  • examples/lut-aerial-perspective/source/atmosphere/SkyMaterial.tsruns5,490 bytes
  • examples/lut-aerial-perspective/source/atmosphere/StarsGeometry.tsruns810 bytes
  • examples/lut-aerial-perspective/source/atmosphere/StarsMaterial.tsruns3,983 bytes
  • examples/lut-aerial-perspective/source/atmosphere/SunDirectionalLight.tsruns2,485 bytes
  • examples/lut-aerial-perspective/source/atmosphere/blackBodyChromaticity.tsruns1,910 bytes
  • examples/lut-aerial-perspective/source/atmosphere/celestialDirections.tsruns2,288 bytes
  • examples/lut-aerial-perspective/source/atmosphere/constants.tsruns1,071 bytes
  • examples/lut-aerial-perspective/source/atmosphere/getAltitudeCorrectionOffset.tsruns832 bytes
  • examples/lut-aerial-perspective/source/atmosphere/getSunLightColor.tsruns3,060 bytes
  • examples/lut-aerial-perspective/source/atmosphere/helpers/functions.tsruns882 bytes
  • examples/lut-aerial-perspective/source/atmosphere/helpers/sampleTexture.tsruns1,681 bytes
  • examples/lut-aerial-perspective/source/atmosphere/index.tsruns578 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/aerialPerspectiveEffect.fragasset11,290 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/aerialPerspectiveEffect.vertasset2,302 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/functions.glslasset19,639 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/index.tsruns185 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/irradianceMask.fragasset2,146 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/parameters.glslasset478 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/sky.fragasset2,494 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/sky.glslasset2,574 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/sky.vertasset1,781 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/stars.fragasset1,111 bytes
  • examples/lut-aerial-perspective/source/atmosphere/shaders/stars.vertasset1,567 bytes
  • examples/lut-aerial-perspective/source/atmosphere/types.tsruns519 bytes
  • examples/lut-aerial-perspective/source/effects/DepthEffect.tsruns1,689 bytes
  • examples/lut-aerial-perspective/source/effects/DitheringEffect.tsruns581 bytes
  • examples/lut-aerial-perspective/source/effects/DownsampleThresholdMaterial.tsruns2,035 bytes
  • examples/lut-aerial-perspective/source/effects/GeometryEffect.tsruns2,154 bytes
  • examples/lut-aerial-perspective/source/effects/GeometryPass.tsruns1,389 bytes
  • examples/lut-aerial-perspective/source/effects/LensFlareEffect.tsruns5,480 bytes
  • examples/lut-aerial-perspective/source/effects/LensFlareFeaturesMaterial.tsruns2,322 bytes
  • examples/lut-aerial-perspective/source/effects/NormalEffect.tsruns2,912 bytes
  • examples/lut-aerial-perspective/source/effects/createHaldLookupTexture.tsruns637 bytes
  • examples/lut-aerial-perspective/source/effects/index.tsruns250 bytes
  • examples/lut-aerial-perspective/source/effects/setupMaterialsForGeometryPass.tsruns3,129 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/depthEffect.fragasset472 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/ditheringEffect.fragasset207 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/downsampleThreshold.fragasset2,280 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/downsampleThreshold.vertasset961 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/geometryEffect.fragasset535 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/lensFlareEffect.fragasset351 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/lensFlareFeatures.fragasset2,414 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/lensFlareFeatures.vertasset212 bytes
  • examples/lut-aerial-perspective/source/effects/shaders/normalEffect.fragasset1,054 bytes
  • examples/lut-aerial-perspective/source/geospatial/ArrayBufferLoader.tsruns952 bytes
  • examples/lut-aerial-perspective/source/geospatial/DataLoader.tsruns4,799 bytes
  • examples/lut-aerial-perspective/source/geospatial/EXR3DLoader.tsruns1,259 bytes
  • examples/lut-aerial-perspective/source/geospatial/Ellipsoid.tsruns4,238 bytes
  • examples/lut-aerial-perspective/source/geospatial/EllipsoidGeometry.tsruns3,089 bytes
  • examples/lut-aerial-perspective/source/geospatial/Geodetic.tsruns4,283 bytes
  • examples/lut-aerial-perspective/source/geospatial/PointOfView.tsruns4,611 bytes
  • examples/lut-aerial-perspective/source/geospatial/Rectangle.tsruns2,147 bytes
  • examples/lut-aerial-perspective/source/geospatial/STBNLoader.tsruns598 bytes
  • examples/lut-aerial-perspective/source/geospatial/Texture3DLoader.tsruns2,406 bytes
  • examples/lut-aerial-perspective/source/geospatial/TileCoordinate.tsruns2,486 bytes
  • examples/lut-aerial-perspective/source/geospatial/TilingScheme.tsruns2,415 bytes
  • examples/lut-aerial-perspective/source/geospatial/TypedArrayLoader.tsruns1,478 bytes
  • examples/lut-aerial-perspective/source/geospatial/assertions.tsruns69 bytes
  • examples/lut-aerial-perspective/source/geospatial/bufferGeometry.tsruns1,927 bytes
  • examples/lut-aerial-perspective/source/geospatial/constants.tsruns326 bytes
  • examples/lut-aerial-perspective/source/geospatial/decorators.tsruns6,157 bytes
  • examples/lut-aerial-perspective/source/geospatial/defineShorthand.tsruns2,222 bytes
  • examples/lut-aerial-perspective/source/geospatial/helpers/projectOnEllipsoidSurface.tsruns2,221 bytes
  • examples/lut-aerial-perspective/source/geospatial/index.tsruns701 bytes
  • examples/lut-aerial-perspective/source/geospatial/math.tsruns1,859 bytes
  • examples/lut-aerial-perspective/source/geospatial/resolveIncludes.tsruns687 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/cascadedShadowMaps.glslasset2,409 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/depth.glslasset525 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/generators.glslasset238 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/index.tsruns973 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/interleavedGradientNoise.glslasset264 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/math.glslasset2,434 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/packing.glslasset505 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/raySphereIntersection.glslasset3,750 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/transform.glslasset343 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/turbo.glslasset476 bytes
  • examples/lut-aerial-perspective/source/geospatial/shaders/vogelDisk.glslasset401 bytes
  • examples/lut-aerial-perspective/source/geospatial/typedArray.tsruns1,059 bytes
  • examples/lut-aerial-perspective/source/geospatial/typedArrayParsers.tsruns3,055 bytes
  • examples/lut-aerial-perspective/source/geospatial/types.tsruns251 bytes
  • examples/lut-aerial-perspective/source/geospatial/unrollLoops.tsruns714 bytes
  • examples/lut-aerial-perspective/source/vendor/tiny-invariant.tsruns301 bytes
  • examples/lut-aerial-perspective/source/vendor/url-join.tsruns716 bytes
  • references/atmosphere-system-contract.mddoc6,106 bytes
Read SKILL.md

# 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.

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.

## 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.
View the complete source on GitHub

Skills included

  • threejs-atmosphere-aerial-perspective
  • threejs-bloom
  • threejs-camera-direction
  • threejs-exposure-color-grading
  • threejs-image-pipeline
  • threejs-parallax-occlusion-mapping
  • threejs-precipitation-surfaces
  • threejs-procedural-animation
  • threejs-procedural-architecture
  • threejs-procedural-fields
  • threejs-procedural-geometry
  • threejs-procedural-materials
  • threejs-procedural-planets
  • threejs-procedural-vegetation
  • threejs-procedural-vfx
  • threejs-raymarched-space-effects
  • threejs-screen-space-ambient-occlusion
  • threejs-shadow-systems
  • threejs-skill-router
  • threejs-spectral-ocean
  • threejs-temporal-surfaces
  • threejs-visual-validation
  • threejs-volumetric-clouds
  • threejs-water-optics

Repository facts

License
MIT
Created
Jun 19, 2026
Last pushed
Oct 22, 2026
Forks
107
Open issues
0
Project activity
Active

Rank over the last 12 weeks

Now #912 · best #674 · down 120 in 30 days

  1. #909 on Nov 1
  2. #912 on Nov 2
  3. #914 on Nov 3
  4. #913 on Nov 4
  5. #907 from Nov 5 to Nov 6
  6. #912 since Nov 7
78 earlier periods
  1. #780 on Aug 2
  2. #786 on Aug 7
  3. #796 on Aug 9
  4. #828 on Aug 10
  5. #814 on Aug 11
  6. #807 on Aug 12
  7. #808 on Aug 13
  8. #792 on Aug 14
  9. #751 on Aug 15
  10. #730 on Aug 16
  11. #728 on Aug 17
  12. #740 on Aug 18
  13. #723 on Aug 19
  14. #714 on Aug 20
  15. #713 on Aug 21
  16. #674 on Aug 22
  17. #704 on Aug 23
  18. #730 on Aug 24
  19. #738 on Aug 25
  20. #718 on Aug 26
  21. #725 on Aug 27
  22. #747 on Aug 28
  23. #690 on Aug 29
  24. #693 on Aug 30
  25. #729 on Aug 31
  26. #744 on Sep 1
  27. #734 on Sep 3
  28. #707 on Sep 4
  29. #691 on Sep 5
  30. #720 on Sep 6
  31. #728 on Sep 7
  32. #751 on Sep 8
  33. #736 on Sep 9
  34. #742 on Sep 10
  35. #723 on Sep 11
  36. #719 on Sep 12
  37. #747 on Sep 14
  38. #743 on Sep 15
  39. #750 on Sep 16
  40. #753 on Sep 17
  41. #726 on Sep 20
  42. #768 on Sep 22
  43. #747 on Sep 23
  44. #718 on Sep 24
  45. #697 on Sep 25
  46. #693 on Sep 26
  47. #725 on Sep 27
  48. #738 on Sep 28
  49. #771 on Sep 29
  50. #749 on Sep 30
  51. #701 on Oct 1
  52. #721 on Oct 2
  53. #701 on Oct 3
  54. #730 on Oct 4
  55. #735 on Oct 5
  56. #744 on Oct 6
  57. #752 on Oct 7
  58. #792 on Oct 8
  59. #758 on Oct 9
  60. #742 on Oct 10
  61. #744 on Oct 11
  62. #759 on Oct 12
  63. #761 on Oct 13
  64. #775 on Oct 14
  65. #767 on Oct 15
  66. #772 on Oct 16
  67. #737 on Oct 18
  68. #782 on Oct 19
  69. #786 on Oct 20
  70. #796 on Oct 21
  71. #778 on Oct 22
  72. #781 on Oct 23
  73. #747 on Oct 24
  74. #894 on Oct 25
  75. #898 on Oct 28
  76. #902 on Oct 29
  77. #905 on Oct 30
  78. #908 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 12 notes
  • skills/threejs-bloom/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-bloom/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-precipitation-surfaces/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-precipitation-surfaces/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-procedural-materials/assets/simulated-tearable-denim/settled-drape.js:3 Analysis incomplete: physical or joined line exceeds character limit
  • skills/threejs-procedural-materials/assets/simulated-tearable-denim/settled-drape.js:2 Analysis incomplete: physical or joined line exceeds character limit
  • skills/threejs-procedural-vfx/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-raymarched-space-effects/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-spectral-ocean/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-spectral-ocean/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-volumetric-clouds/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/threejs-water-optics/assets/photoreal-water/pebbles.js:1 Analysis incomplete: physical or joined line exceeds character limit
Show all 641 signals by file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/atmosphere-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/AerialPerspectiveEffect.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 371
    // Interpolation values are picked to match previous rough globe scales to       // match the previous "camera height" approach for interpolation.       // See: https://github.com/takram-design-engineering/three-geospatial/pull/23
  • Network accessline 373
    // See: https://github.com/takram-design-engineering/three-geospatial/pull/23

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/AtmosphereMaterialBase.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/AtmosphereParameters.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/IrradianceMaskPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/PrecomputedTexturesLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/SkyLightProbe.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 29
    // Constant term: L0 * sqrt(π)/2 == 0.5 // Linear term: L1 * π/3 * sqrt(3)/sqrt(π) == n/2 // See: https://github.com/mrdoob/three.js/blob/r170/src/math/SphericalHarmonics3.js#L85
  • Network accessline 30
    // Linear term: L1 * π/3 * sqrt(3)/sqrt(π) == n/2 // See: https://github.com/mrdoob/three.js/blob/r170/src/math/SphericalHarmonics3.js#L85 // See also: https://www.ppsloan.org/publications/StupidSH36.pdf
  • Network accessline 31
    // See: https://github.com/mrdoob/three.js/blob/r170/src/math/SphericalHarmonics3.js#L85
  • Network accessline 32
    // See also: https://www.ppsloan.org/publications/StupidSH36.pdf

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/SkyMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/StarsGeometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/StarsMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/SunDirectionalLight.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/blackBodyChromaticity.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 18
    // Convert temperature to black body chromaticity   // See: https://google.github.io/filament/Filament.html#lighting/directlighting/lightsparameterization/colortemperature
  • Network accessline 19
    // See: https://google.github.io/filament/Filament.html#lighting/directlighting/lightsparameterization/colortemperature
  • Network accessline 45
    // See: https://en.wikipedia.org/wiki/Color_index

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/celestialDirections.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/constants.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    const ref = '82e00c5222d6cbc222af69abdf6d3f4fc9f63030' export const DEFAULT_PRECOMPUTED_TEXTURES_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/atmosphere/assets`
  • Network accessline 17
    export const DEFAULT_PRECOMPUTED_TEXTURES_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/atmosphere/assets`
  • Network accessline 18
    export const DEFAULT_STARS_DATA_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/atmosphere/assets/stars.bin`

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/getAltitudeCorrectionOffset.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/getSunLightColor.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/helpers/functions.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/helpers/sampleTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/shaders/aerialPerspectiveEffect.vert

  • Network accessline 52
    // Gradually turn off altitude correction for aerial perspective as geometric   // error correction takes effect.   // See: https://github.com/takram-design-engineering/three-geospatial/pull/23#issuecomment-2542914656
  • Network accessline 53
    // error correction takes effect.   // See: https://github.com/takram-design-engineering/three-geospatial/pull/23#issuecomment-2542914656   vGeometryEllipsoidCenter =
  • Network accessline 54
    // See: https://github.com/takram-design-engineering/three-geospatial/pull/23#issuecomment-2542914656

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/shaders/functions.glsl

  • Network accessline 2
    // This file includes runtime functions only. Please refer to Bruneton's source // code for the whole picture. It has detailed comments. // https://github.com/ebruneton/precomputed_atmospheric_scattering/blob/master/atmosphere/functions.gls
  • Network accessline 4
    // https://github.com/ebruneton/precomputed_atmospheric_scattering/blob/master/atmosphere/functions.glsl
  • Network accessline 401
    // Hack to avoid rendering artifacts near the horizon, due to finite   // atmosphere texture resolution and finite floating point precision.   // See: https://github.com/ebruneton/precomputed_atmospheric_scattering/pull/32
  • Network accessline 402
    // atmosphere texture resolution and finite floating point precision.   // See: https://github.com/ebruneton/precomputed_atmospheric_scattering/pull/32   if (!ray_r_mu_intersects_ground) {
  • Network accessline 403
    // See: https://github.com/ebruneton/precomputed_atmospheric_scattering/pull/32

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/shaders/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/shaders/irradianceMask.frag

  • Network accessline 1
    // Based on: https://github.com/pmndrs/postprocessing/blob/v6.37.4/src/materials/glsl/depth-mask.frag

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/atmosphere/types.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/DepthEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/DitheringEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/DownsampleThresholdMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/GeometryEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/GeometryPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/LensFlareEffect.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 51
    // Reference: https://www.froyok.fr/blog/2021-09-ue4-custom-lens-flare/

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/LensFlareFeaturesMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/NormalEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/createHaldLookupTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/setupMaterialsForGeometryPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/shaders/downsampleThreshold.frag

  • Network accessline 26
    // Reference: https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom
  • Network accessline 68
    // WORKAROUND: Avoid screen flashes if the input buffer contains NaN texels.   // See: https://github.com/takram-design-engineering/three-geospatial/issues/7
  • Network accessline 69
    // See: https://github.com/takram-design-engineering/three-geospatial/issues/7

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/effects/shaders/lensFlareFeatures.frag

  • Network accessline 40
    // Reference: https://john-chapman.github.io/2017/11/05/pseudo-lens-flare.html

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/ArrayBufferLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/DataLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/EXR3DLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/Ellipsoid.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/EllipsoidGeometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/Geodetic.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 82
    // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
  • Network accessline 83
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Geodetic.js#L119
  • Network accessline 114
    // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
  • Network accessline 115
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Cartesian3.js#L916

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/PointOfView.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/Rectangle.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/STBNLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/Texture3DLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/TileCoordinate.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/TilingScheme.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 38
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/GeographicTilingScheme.js#L210
  • Network accessline 67
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/GeographicTilingScheme.js#L169

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/TypedArrayLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/assertions.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/bufferGeometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/constants.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    const ref = '9627216cc50057994c98a2118f3c4a23765d43b9' export const DEFAULT_STBN_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/core/assets/stbn.bin`
  • Network accessline 6
    export const DEFAULT_STBN_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/core/assets/stbn.bin`

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/decorators.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/defineShorthand.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/helpers/projectOnEllipsoidSurface.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
  • Network accessline 6
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/scaleToGeodeticSurface.js

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/math.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/resolveIncludes.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/shaders/cascadedShadowMaps.glsl

  • Network accessline 1
    // Reference: https://github.com/mrdoob/three.js/blob/r171/examples/jsm/csm/CSMShader.js

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/shaders/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/shaders/interleavedGradientNoise.glsl

  • Network accessline 1
    // Reference: https://advances.realtimerendering.com/s2014/index.html#_NEXT_GENERATION_POST

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/shaders/packing.glsl

  • Network accessline 1
    // Reference: https://jcgt.org/published/0003/02/01/paper.pdf

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/shaders/turbo.glsl

  • Network accessline 1
    // A fifth-order polynomial approximation of Turbo color map. // See: https://observablehq.com/@mbostock/turbo
  • Network accessline 2
    // See: https://observablehq.com/@mbostock/turbo

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/shaders/vogelDisk.glsl

  • Network accessline 1
    // Reference: https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/typedArray.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/typedArrayParsers.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/types.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/geospatial/unrollLoops.ts

  • Network accessline 1
    // Based on: https://github.com/mrdoob/three.js/blob/r170/src/renderers/webgl/WebGLProgram.js#L294
  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/vendor/tiny-invariant.ts

  • Executable scriptline 1
    Executable file

skills/threejs-atmosphere-aerial-perspective/examples/lut-aerial-perspective/source/vendor/url-join.ts

  • Executable scriptline 1
    Executable file

skills/threejs-parallax-occlusion-mapping/examples/silhouette-relief/ParallaxOcclusion.js

  • Executable scriptline 1
    Executable file

skills/threejs-parallax-occlusion-mapping/examples/silhouette-relief/bulkhead-height-maps.js

  • Executable scriptline 1
    Executable file

skills/threejs-parallax-occlusion-mapping/examples/silhouette-relief/silhouette-relief-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-precipitation-surfaces/assets/wet-puddle-rain/GPL-3.0.txt

  • Network accessline 4
    Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
  • Network accessline 647
    You should have received a copy of the GNU General Public License     along with this program.  If not, see <https://www.gnu.org/licenses/>.
  • Network accessline 648
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
  • Network accessline 665
    if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
  • Network accessline 667
    <https://www.gnu.org/licenses/>.
  • Network accessline 672
    the library.  If this is what you want to do, use the GNU Lesser General Public License instead of this License.  But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
  • Network accessline 674
    <https://www.gnu.org/licenses/why-not-lgpl.html>.

skills/threejs-precipitation-surfaces/examples/snow-accumulation/snow-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-precipitation-surfaces/examples/wet-puddle-rain/rain-puddle-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-architecture/examples/procedural-financial-tower/building-system.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/threejs-procedural-architecture/examples/procedural-financial-tower/shadow-clipmaps.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/assets/geometry-quality-kit/assembly.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/assets/geometry-quality-kit/geometry-audit.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/assets/geometry-quality-kit/geometry-contract.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/assets/geometry-quality-kit/mesh-topology-audit.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/assets/geometry-quality-kit/procedural-mesh.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/assets/geometry-quality-kit/selftest.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/formula-one-race-car/race-car-model.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/formula-one-race-car/source/design-contract.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/formula-one-race-car/source/mesh-kit.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/formula-one-race-car/source/race-car-materials.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/formula-one-race-car/source/race-car-model.js

  • Executable scriptline 1
    Executable file
  • Network accessline 679
    return s.reverse();   };   const curl = (z, y) => {
  • Network accessline 680
    };   const curl = (z, y) => {     const up = clamp01((y - 0.100) / 0.190);
  • Network accessline 681
    const curl = (z, y) => {

skills/threejs-procedural-geometry/examples/formula-one-race-car/source/race-car-textures.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/porcelain-brass-submarine/source/design-contract.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/porcelain-brass-submarine/source/mesh-kit.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/porcelain-brass-submarine/source/submarine-materials.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/porcelain-brass-submarine/source/submarine-model.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/porcelain-brass-submarine/submarine-model.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/procedural-optimus-humanoid/procedural-optimus-humanoid.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/procedural-optimus-humanoid/source/optimus-humanoid-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sculpted-gallery-frame/frame-geometry.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sport-motorcycle/motorcycle-model.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sport-motorcycle/source/design-contract.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sport-motorcycle/source/mesh-kit.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sport-motorcycle/source/motorcycle-materials.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sport-motorcycle/source/motorcycle-model.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-geometry/examples/sport-motorcycle/source/motorcycle-parts.js

  • Executable scriptline 1
    Executable file
  • Network accessline 1769
    it stops over the crown and reads as a floating shell.      Its section is not a bent sheet: a raised centre spine, a crease either      side of it, and skirts that curl down outboard of the tyre shoulders.  */
  • Network accessline 1770
    Its section is not a bent sheet: a raised centre spine, a crease either      side of it, and skirts that curl down outboard of the tyre shoulders.  */   const fenderA0 = 0.55, fenderA1 = 2.22;
  • Network accessline 1771
    side of it, and skirts that curl down outboard of the tyre shoulders.  */

skills/threejs-procedural-geometry/references/vehicle-loft-and-projector-contract.md

  • Network accessline 146
    Endplates, fences, strakes and louvres are authored 2D outlines in real metres, extruded with a bevel, then deformed by a 3D warp. The warp is where curl comes
  • Network accessline 147
    extruded with a bevel, then deformed by a 3D warp. The warp is where curl comes
  • Network accessline 151
    plate(outline, { thickness: 0.008, bevel: 0.0024, holes: [slotA, slotB],   warp: (z, y, w) => V3(0.8950 + w + curl(z, y), y, z) }); // curl = 0.052 · up^1.7 · back^1.20  → outwash grows toward the top rear
  • Network accessline 153
    // curl = 0.052 · up^1.7 · back^1.20  → outwash grows toward the top rear

skills/threejs-procedural-materials/assets/deformable-sand/GPL-3.0.txt

  • Network accessline 4
    Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
  • Network accessline 647
    You should have received a copy of the GNU General Public License     along with this program.  If not, see <https://www.gnu.org/licenses/>.
  • Network accessline 648
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
  • Network accessline 665
    if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
  • Network accessline 667
    <https://www.gnu.org/licenses/>.
  • Network accessline 672
    the library.  If this is what you want to do, use the GNU Lesser General Public License instead of this License.  But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
  • Network accessline 674
    <https://www.gnu.org/licenses/why-not-lgpl.html>.

skills/threejs-procedural-materials/assets/simulated-tearable-denim/GPL-3.0.txt

  • Network accessline 4
    Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
  • Network accessline 647
    You should have received a copy of the GNU General Public License     along with this program.  If not, see <https://www.gnu.org/licenses/>.
  • Network accessline 648
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
  • Network accessline 665
    if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
  • Network accessline 667
    <https://www.gnu.org/licenses/>.
  • Network accessline 672
    the library.  If this is what you want to do, use the GNU Lesser General Public License instead of this License.  But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
  • Network accessline 674
    <https://www.gnu.org/licenses/why-not-lgpl.html>.

skills/threejs-procedural-materials/assets/simulated-tearable-denim/THIRD_PARTY_LICENSES.md

  • Network accessline 3
    The denim implementation and settled-state asset are GPL-3.0-only. Copyright 2026 Scott. https://github.com/scottstts/Break-That-Denim
  • Network accessline 4
    Copyright 2026 Scott. https://github.com/scottstts/Break-That-Denim See GPL-3.0.txt in this directory.
  • Network accessline 5
    https://github.com/scottstts/Break-That-Denim

skills/threejs-procedural-materials/assets/simulated-tearable-denim/settled-drape.js

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 3
    return Uint8Array.from(atob("RFJBUAEAAADCUQAAezh3+ro1mr7Ua16+AAAAAAAAAAB0gZi+ajdevgAAAAAAAAAALs2Wvv8CXr4AAAAAAAAAAOgYlb6Vzl2+AAAAAAAAAACjZJO+KppdvgAAAAAAAAAAXbCRvsBlXb4AAAAAAAAAABf8j75VMV2+AAAAAAAAAADRR46+6/xcvgAAAAAAAAAAi5OMvoHIXL4AAAAAAAA

skills/threejs-procedural-materials/examples/deformable-sand/deformable-sand.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/config.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/input/strokes.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/platform/shader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/airborne-shadow.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/camera.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/coconut-shadow.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 388
    async function loadTree(url: string): Promise<ParsedTree> {   const response = await fetch(url)
  • Network accessline 389
    const response = await fetch(url)

skills/threejs-procedural-materials/examples/deformable-sand/source/render/lighting.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/postprocess.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/renderer.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/shaders.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/render/water-reset.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/reset/effect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/reset/viewport.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/reset/wgsl.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/simulation/clock.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/simulation/flux.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/simulation/shaders.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/simulation/solver.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/deformable-sand/source/simulation/wave-reset-shader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/hybrid-soil-moss-surface/hybrid-soil-moss-surface.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/hybrid-soil-moss-surface/model-moss-accumulation.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/lava-flow-surface/lava-surface.js

  • Executable scriptline 1
    Executable file
  • Network accessline 126
    vec2 advectedDomain(vec2 p) {         p += vec2(1.0, 1.5) * uTime * uFlowSpeed;         vec2 curl = vec2(
  • Network accessline 127
    p += vec2(1.0, 1.5) * uTime * uFlowSpeed;         vec2 curl = vec2(           sin(p.y * uRidgeFrequency + uTime * 0.42),
  • Network accessline 128
    vec2 curl = vec2(

skills/threejs-procedural-materials/examples/luminescent-butterfly/luminescent-butterfly.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/luminescent-jellyfish/luminescent-jellyfish.js

  • Executable scriptline 1
    Executable file
  • Network accessline 1234
    const seedN = screenUV.mul(vec2(1931.7, 1213.3)).add(fract(time.mul(13.7)).mul(97.0));   const nL = hash(seedN.dot(vec2(1, 57))).add(hash(seedN.dot(vec2(1, 61)).add(3.1))).sub(1.0);   const nC = vec3(hash(seedN.dot(vec2(1, 71)).add(7.7)), 0
  • Network accessline 1235
    const nL = hash(seedN.dot(vec2(1, 57))).add(hash(seedN.dot(vec2(1, 61)).add(3.1))).sub(1.0);   const nC = vec3(hash(seedN.dot(vec2(1, 71)).add(7.7)), 0.5, hash(seedN.dot(vec2(1, 83)).add(1.9))).sub(0.5);   const amp = float(0.030).mul(float
  • Network accessline 1236
    const nC = vec3(hash(seedN.dot(vec2(1, 71)).add(7.7)), 0.5, hash(seedN.dot(vec2(1, 83)).add(1.9))).sub(0.5);

skills/threejs-procedural-materials/examples/physical-diffraction-grating/physical-diffraction-grating.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/raytraced-diamond/diamond-material.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-cloth/simulated-cloth.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-cloth/source/cloth-kernel.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-cloth/source/cloth-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-fur/simulated-fur.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-fur/source/fur-geometry.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-fur/source/fur-system.js

  • Executable scriptline 1
    Executable file
  • Network accessline 575
    const osc = oscillate && !c.isThumb ? 0.42 * Math.sin(T * Math.PI * 2 * 7 + c.ph) + 0.12 : 0;     const ow = [0.15, 0.45, 0.4];     c.joints.forEach((j, i) => { j.rotation.x = (i === 0 ? c.pitch : 0) - (c.curl * c.weights[i] + osc * ow[i]);
  • Network accessline 576
    const ow = [0.15, 0.45, 0.4];     c.joints.forEach((j, i) => { j.rotation.x = (i === 0 ? c.pitch : 0) - (c.curl * c.weights[i] + osc * ow[i]); });   }
  • Network accessline 577
    c.joints.forEach((j, i) => { j.rotation.x = (i === 0 ? c.pitch : 0) - (c.curl * c.weights[i] + osc * ow[i]); });
  • Network accessline 627
    // fingers: curl until the tips rest where they should
  • Network accessline 628
    poseFingers(false);   for (const c of chains) {     if (!hit) { c.curl += (0.35 - c.curl) * (1 - Math.exp(-dt * 6)); continue; }
  • Network accessline 629
    for (const c of chains) {     if (!hit) { c.curl += (0.35 - c.curl) * (1 - Math.exp(-dt * 6)); continue; }     c.joints[2].localToWorld(_tip.set(0, 0, -c.lens[2]));
  • Network accessline 630
    if (!hit) { c.curl += (0.35 - c.curl) * (1 - Math.exp(-dt * 6)); continue; }
  • Network accessline 635
    const hs = raycaster.intersectObjects(proxies, false);     raycaster.far = Infinity;     if (!hs.length) { c.curl += (0.3 - c.curl) * 0.1; continue; }
  • Network accessline 636
    raycaster.far = Infinity;     if (!hs.length) { c.curl += (0.3 - c.curl) * 0.1; continue; }     const gap = hs[0].distance - 0.6;
  • Network accessline 637
    if (!hs.length) { c.curl += (0.3 - c.curl) * 0.1; continue; }
  • Network accessline 638
    const gap = hs[0].distance - 0.6;     const want = mode === 'hover' ? 0.09 : mode === 'pet' ? c.tipR * HS + 0.012 : c.tipR * HS * 0.35;     c.curl += Math.max(-0.1, Math.min(0.1, (gap - want) * 5));
  • Network accessline 639
    const want = mode === 'hover' ? 0.09 : mode === 'pet' ? c.tipR * HS + 0.012 : c.tipR * HS * 0.35;     c.curl += Math.max(-0.1, Math.min(0.1, (gap - want) * 5));     c.curl = c.isThumb ? Math.max(-0.3, Math.min(1.0, c.curl)) : Math.max(-0.35
  • Network accessline 640
    c.curl += Math.max(-0.1, Math.min(0.1, (gap - want) * 5));
  • Network accessline 641
    c.curl = c.isThumb ? Math.max(-0.3, Math.min(1.0, c.curl)) : Math.max(-0.35, Math.min(1.8, c.curl));

skills/threejs-procedural-materials/examples/simulated-paper-burning/simulated-paper-burning.js

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    const NPX = 256, NPZ = 182, NP = NPX * NPZ;          // cloth / combustion lattice (≈1.16 mm) const NFX = 128, NFY = 56, NFZ = 96;                 // pyro grid const NFXY = NFX * NFY, NV = NFXY * NFZ, NC = NFX * NFZ;
  • Network accessline 21
    const NFX = 128, NFY = 56, NFZ = 96;                 // pyro grid const NFXY = NFX * NFY, NV = NFXY * NFZ, NC = NFX * NFZ; const DX = 0.4 / NFX;                                // 3.125 mm voxels
  • Network accessline 22
    const NFXY = NFX * NFY, NV = NFXY * NFZ, NC = NFX * NFZ;
  • Network accessline 912
    } ); 	colBuf.element( id ).assign( vec4( e.mul( DX ), 0, 0, 0 ) ); } )().compute( NC ).setName( 'column' );
  • Network accessline 914
    } )().compute( NC ).setName( 'column' );
  • Network accessline 934
    } 	textureStore( groundTex, uvec2( i, k ), vec4( near.div( wn ), far.div( wf ), soot.div( ws ).mul( U.sootKeep.mul( 0.000025 ) ), 0 ) ); } )().compute( NC ).setName( 'groundTex' );
  • Network accessline 936
    } )().compute( NC ).setName( 'groundTex' );
  • Network accessline 966
    const id = I( instanceIndex ); 	atomicStore( emitFuel.element( id ), I( 0 ) ); atomicStore( emitHeat.element( id ), I( 0 ) ); atomicStore( emitSmoke.element( id ), I( 0 ) ); 	If( id.lessThan( I( NC ) ), () => { atomicStore( sootAcc.element(
  • Network accessline 967
    atomicStore( emitFuel.element( id ), I( 0 ) ); atomicStore( emitHeat.element( id ), I( 0 ) ); atomicStore( emitSmoke.element( id ), I( 0 ) ); 	If( id.lessThan( I( NC ) ), () => { atomicStore( sootAcc.element( id ), I( 0 ) ); } ); } )().comp
  • Network accessline 968
    If( id.lessThan( I( NC ) ), () => { atomicStore( sootAcc.element( id ), I( 0 ) ); } );

skills/threejs-procedural-materials/examples/simulated-tearable-denim/simulated-tearable-denim.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/denim-system.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/gpu/util.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/camera.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/math.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/renderer.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/wgsl/fuzz.wgsl

  • Network accessline 53
    const SHEET_FIBRES: u32 = 48u; // a loose fibre's lateral wander: cotton's convolutions (amplitude, range of wavelengths), and the // gentler curl of its free length (amplitude per length free, range of wavelengths: loose cotton
  • Network accessline 54
    // a loose fibre's lateral wander: cotton's convolutions (amplitude, range of wavelengths), and the // gentler curl of its free length (amplitude per length free, range of wavelengths: loose cotton // bends with radii of a millimetre or two
  • Network accessline 55
    // gentler curl of its free length (amplitude per length free, range of wavelengths: loose cotton
  • Network accessline 192
    if (m.n > 0.0) {     // the fan, its fibres' wander and width, and a pixel's margin for the coverage filter     halfW = H + 1.6 * (CRIMP_AMP + CURL * len * t) + FIBRE_W * max(1.0, m.n / f32(SHEET_FIBRES)) + 0.5 * pixW;
  • Network accessline 193
    // the fan, its fibres' wander and width, and a pixel's margin for the coverage filter     halfW = H + 1.6 * (CRIMP_AMP + CURL * len * t) + FIBRE_W * max(1.0, m.n / f32(SHEET_FIBRES)) + 0.5 * pixW;     o.alpha = 1.0;
  • Network accessline 194
    halfW = H + 1.6 * (CRIMP_AMP + CURL * len * t) + FIBRE_W * max(1.0, m.n / f32(SHEET_FIBRES)) + 0.5 * pixW;
  • Network accessline 389
    // past SHEET_FIBRES, each evaluated fibre stands for several side by side   let d = FIBRE_W * max(1.0, n / f32(SHEET_FIBRES));   let wander = CRIMP_AMP + CURL * len * t;
  • Network accessline 390
    let d = FIBRE_W * max(1.0, n / f32(SHEET_FIBRES));   let wander = CRIMP_AMP + CURL * len * t;   let half = mix(r0, H, t) + wander;
  • Network accessline 391
    let wander = CRIMP_AMP + CURL * len * t;
  • Network accessline 423
    let q = vec4<f32>(vec4<u32>(h1 & 255u, (h1 >> 8u) & 255u, (h1 >> 16u) & 255u, h1 >> 24u)) * (1.0 / 255.0);     // the convolutions and the free length's curl     let along = t * len;
  • Network accessline 424
    // the convolutions and the free length's curl     let along = t * len;     let ph = along / mix(CRIMP_MIN, CRIMP_MAX, q.x) + r.w;
  • Network accessline 427
    let p = vec4<f32>(vec4<u32>(h2 & 255u, (h2 >> 8u) & 255u, (h2 >> 16u) & 255u, h2 >> 24u)) * (1.0 / 255.0);     let crimp = CRIMP_AMP * (0.4 + 1.2 * q.y) * smoothstep(0.0, 0.2, t) * wave(ph);     let curl = CURL * along * (0.3 + 1.4 * p.x) *
  • Network accessline 428
    let crimp = CRIMP_AMP * (0.4 + 1.2 * q.y) * smoothstep(0.0, 0.2, t) * wave(ph);     let curl = CURL * along * (0.3 + 1.4 * p.x) * wave(along / mix(CURL_MIN, CURL_MAX, q.w) + p.y);     let yk = mix((2.0 * r.y - 1.0) * r0, (2.0 * r.z - 1.0) *
  • Network accessline 429
    let curl = CURL * along * (0.3 + 1.4 * p.x) * wave(along / mix(CURL_MIN, CURL_MAX, q.w) + p.y);
  • Network accessline 448
    // the strand shadows itself across its width: a tuft is lit on the side toward the key and dark on   // the far side, through the optical depth its own fibre presents across it (as for its coverage)   let half = mix(in.sheet.y, in.lat.y, i
  • Network accessline 449
    // the far side, through the optical depth its own fibre presents across it (as for its coverage)   let half = mix(in.sheet.y, in.lat.y, in.along) + CRIMP_AMP + CURL * in.sheet.z * in.along;   let across = in.sheet.x * (1.0 - in.along) * FI
  • Network accessline 450
    let half = mix(in.sheet.y, in.lat.y, in.along) + CRIMP_AMP + CURL * in.sheet.z * in.along;

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/wgsl/material_map.wgsl

  • Network accessline 75
    // point is connected to all four (a far corner, e.g. of a piece that fell away, never bends it).   let n00 = L.x + cj * L.y + ci;   var nc = array<u32, 4>(n00, n00 + 1u, n00 + L.y, n00 + L.y + 1u);
  • Network accessline 76
    let n00 = L.x + cj * L.y + ci;   var nc = array<u32, 4>(n00, n00 + 1u, n00 + L.y, n00 + L.y + 1u);   var h = array<f32, 4>((1.0 - s) * (1.0 - t), s * (1.0 - t), (1.0 - s) * t, s * t);
  • Network accessline 77
    var nc = array<u32, 4>(n00, n00 + 1u, n00 + L.y, n00 + L.y + 1u);

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/wgsl/surface.wgsl

  • Network accessline 159
    let linkXY = inX && inY && debrisS(cxy, total) == deb && ((linkX && surfaceYarnS(cx, 1u) && surfaceYarnS(cxy, 1u)) || (linkY && surfaceYarnS(cy, 0u) && surfaceYarnS(cxy, 0u)));   let n00 = L.x + cj * L.y + ci;   var nc = array<u32, 4>(n00, 
  • Network accessline 160
    let n00 = L.x + cj * L.y + ci;   var nc = array<u32, 4>(n00, n00 + 1u, n00 + L.y, n00 + L.y + 1u);   var kap = vec4<f32>(0.0);
  • Network accessline 161
    var nc = array<u32, 4>(n00, n00 + 1u, n00 + L.y, n00 + L.y + 1u);

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/wgsl/thread_tail.wgsl

  • Network accessline 19
    // the yarn's direction there (as runCenter left it). Freed and untwisted, its fibres slide on one // another, so it bends as its fibres do side by side (count x a fibre's stiffness), under its own // weight, with the curl its spinning set 
  • Network accessline 20
    // another, so it bends as its fibres do side by side (count x a fibre's stiffness), under its own // weight, with the curl its spinning set in it. Where its shape would pass through the cloth it rests // on it instead, on the side it came 
  • Network accessline 21
    // weight, with the curl its spinning set in it. Where its shape would pass through the cloth it rests
  • Network accessline 166
    let h = len / f32(TAIL_SEGS);   let rY = select(LR.loose.x, LR.loose.y, ri.fam == 1u);   // the curl spinning set in the yarn: radius 5 to 20 mm about an axis across it
  • Network accessline 167
    let rY = select(LR.loose.x, LR.loose.y, ri.fam == 1u);   // the curl spinning set in the yarn: radius 5 to 20 mm about an axis across it   let seed = hash11((ri.layer * 7919u + ri.yarn) * 2u + ri.fam + 0x7a11u);
  • Network accessline 168
    // the curl spinning set in the yarn: radius 5 to 20 mm about an axis across it
  • Network accessline 169
    let seed = hash11((ri.layer * 7919u + ri.yarn) * 2u + ri.fam + 0x7a11u);   let across = normalize(cross(dir0, vec3<f32>(hashf(seed) - 0.5, hashf(seed + 1u) - 0.5, hashf(seed + 2u) - 0.5)) + vec3<f32>(1e-9, 0.0, 0.0));   let curl = across / 
  • Network accessline 170
    let across = normalize(cross(dir0, vec3<f32>(hashf(seed) - 0.5, hashf(seed + 1u) - 0.5, hashf(seed + 2u) - 0.5)) + vec3<f32>(1e-9, 0.0, 0.0));   let curl = across / (5e-3 + 15e-3 * hashf(seed + 3u));   // rotation vectors per segment (its t
  • Network accessline 171
    let curl = across / (5e-3 + 15e-3 * hashf(seed + 3u));
  • Network accessline 172
    // rotation vectors per segment (its turn from the one before, per unit length): the weight beyond   // each node bends it by its moment over EI, plus the curl   var kap: array<vec3<f32>, TAIL_SEGS>;
  • Network accessline 173
    // each node bends it by its moment over EI, plus the curl   var kap: array<vec3<f32>, TAIL_SEGS>;   var t: array<vec3<f32>, TAIL_SEGS>;

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/rendering/wgsl/threads.wgsl

  • Network accessline 266
    runs[r] = vec4<u32>(l | (f << 4u) | (endA << 5u) | (endB << 7u), yarn | (pos << 16u), n, 0u);   // drawn over n + 1 crossings: half a crossing beyond each end (into the weave, or to the cut)   let nc = n / CHUNK + 1u;
  • Network accessline 267
    // drawn over n + 1 crossings: half a crossing beyond each end (into the weave, or to the cut)   let nc = n / CHUNK + 1u;   let c0 = atomicAdd(&threadCount[1], nc);
  • Network accessline 268
    let nc = n / CHUNK + 1u;
  • Network accessline 354
    @compute @workgroup_size(1) fn threadArgs() {   let nc = min(atomicLoad(&threadCount[1]), MAX_CHUNKS);
  • Network accessline 355
    fn threadArgs() {   let nc = min(atomicLoad(&threadCount[1]), MAX_CHUNKS);   threadDraw[0] = THREAD_VERTS;
  • Network accessline 356
    let nc = min(atomicLoad(&threadCount[1]), MAX_CHUNKS);
  • Network accessline 360
    threadDraw[3] = 0u;   threadDraw[4] = FIBER_VERTS;   threadDraw[5] = nc * FIBERS_PER_CHUNK;
  • Network accessline 361
    threadDraw[4] = FIBER_VERTS;   threadDraw[5] = nc * FIBERS_PER_CHUNK;   threadDraw[6] = 0u;
  • Network accessline 362
    threadDraw[5] = nc * FIBERS_PER_CHUNK;

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/shared/noise.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/axial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/fabric-config.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/contact.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/interaction.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/selfcontact.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/settle.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/solver.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/topology.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/gpu/wgsl/common.wgsl

  • Network accessline 356
    }; fn bracketOf(i: u32, n: u32) -> Bracket {   let nc = coarseCount(n);
  • Network accessline 357
    fn bracketOf(i: u32, n: u32) -> Bracket {   let nc = coarseCount(n);   var lo = min(nc - 1u, i >> 1u);
  • Network accessline 358
    let nc = coarseCount(n);
  • Network accessline 359
    var lo = min(nc - 1u, i >> 1u);

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/grip.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/hand.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/lattice.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 27
    export function bracket(i: number, n: number): Array<[number, number]> {   const nc = coarseCount(n);
  • Network accessline 28
    const nc = coarseCount(n);
  • Network accessline 29
    let lo = Math.min(nc - 1, i >> 1);

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/laws.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/material.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/materialPoint.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/telemetry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/simulated-tearable-denim/source/simulation/yarnField.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/softbody-jelly/gpu-caustic-field.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/softbody-jelly/softbody-jelly.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/spectral-dispersive-glass/glass-optics.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/spectral-dispersive-glass/spectral-glass-material.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/examples/thin-film-soap-bubbles/soap-bubble-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-materials/references/simulated-fur-system.md

  • Network accessline 123
    petting and disables orbit input; a miss leaves camera orbit available. While the pointer is held over the surface, move the hand target along the hit surface normal. Animate finger curl toward the fur, then use the resulting
  • Network accessline 124
    the pointer is held over the surface, move the hand target along the hit surface normal. Animate finger curl toward the fur, then use the resulting capsule positions as the actual contact geometry. Hover, pet, and scratch use
  • Network accessline 125
    surface normal. Animate finger curl toward the fur, then use the resulting

skills/threejs-procedural-materials/references/thin-film-soap-bubble-system.md

  • Network accessline 169
    shear. An Ornstein-Uhlenbeck velocity process gives each bubble finite-energy, finite-correlation turbulence. Rotation relaxes toward half the finite- difference curl of the air field.
  • Network accessline 171
    difference curl of the air field.

skills/threejs-procedural-planets/examples/procedural-planet-surface/planet-system.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/threejs-procedural-planets/examples/procedural-planet-surface/terrain-field.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/gpu-computed-grass/gpu-grass-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/gpu-culled-flower-field/gpu-culled-flower-field.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/gpu-culled-flower-field/source/gpu-culled-flower-field.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 966
    async function textureFromUrl(device: GPUDevice, label: string, url: string, format: GPUTextureFormat) {   const response = await fetch(url);
  • Network accessline 967
    const response = await fetch(url);

skills/threejs-procedural-vegetation/examples/procedural-surface-ivy/ivy-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/procedural-surface-ivy/source/bvh.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/procedural-surface-ivy/source/flowers.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/procedural-surface-ivy/source/ivy.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/procedural-surface-ivy/source/leafTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/procedural-surface-ivy/source/wind.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/structured-ash-growth/ash-preset.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/structured-ash-growth/tree-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vegetation/examples/stylized-meadow-grass/grass-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/filmic-lens-flare/filmic-lens-flare.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/holographic-shape-transition/hologram-material.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/holographic-shape-transition/hologram-transition.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/raymarched-aurora-curtains/aurora-curtains.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/reentry-plasma/reentry-plasma.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/EmitterManager.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/FluidFireShaderContext.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/VolumetricFluidFire.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 416
    curlPassCompute: inBoundsRun( 				"Curl Noise",
  • Network accessline 417
    "Curl Noise",
  • Network accessline 636
    // Precompute curl noise on the GPU

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/advectDyePass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/advectVelocityPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/curlNoisePass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/divergencePass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/emitObjectPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/jacobiPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/projectPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/pass/vorticityPass.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    // 2. Compute Curl (Vorticity) using central differences:

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/sdf/CollisionHandler.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/sdf/sdfSampler.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/sdf/shape/SDFBox.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/sdf/shape/SDFEllipsoid.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/sdf/shape/SDFShape.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 69
    * @param localPos Position of the query in local space (center of the sdf) 	 * @param halfExtents Half extents of the sdf's world. The SDF is thought of as being contained in a box defined by these limits. 	 * @see https://en.wikipedia.org/
  • Network accessline 70
    * @param halfExtents Half extents of the sdf's world. The SDF is thought of as being contained in a box defined by these limits. 	 * @see https://en.wikipedia.org/wiki/Signed_distance_function 	 */
  • Network accessline 71
    * @see https://en.wikipedia.org/wiki/Signed_distance_function

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/source/util/createStorage3D.ts

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/examples/volumetric-fluid-fire/volumetric-fluid-fire.js

  • Executable scriptline 1
    Executable file

skills/threejs-procedural-vfx/references/volumetric-fluid-fire.md

  • Network accessline 108
    Generate the periodic curl field from grid coordinates corrected by volume
  • Network accessline 113
    frequency = 6.81 finiteDifferenceOffset = 0.1 / frequency curl multiplier = 5.82
  • Network accessline 115
    curl multiplier = 5.82
  • Network accessline 118
    The field uses central differences of three simplex-vector samples per axis. Do not divide the curl by `2 * finiteDifferenceOffset`; the `5.82` multiplier is
  • Network accessline 119
    Do not divide the curl by `2 * finiteDifferenceOffset`; the `5.82` multiplier is
  • Network accessline 326
    smoke weight                 0.15 pressure iterations          4 curl multiplier              5.82
  • Network accessline 327
    pressure iterations          4 curl multiplier              5.82 surface friction             0.9
  • Network accessline 328
    curl multiplier              5.82
  • Network accessline 357
    - Mesh injection reads dye A and overwrites dye B at each injected voxel after   advection. It does not accumulate onto the just-advected dye-B value. - The `noise.frecuency` configuration field does not drive the curl pass. The
  • Network accessline 358
    advection. It does not accumulate onto the just-advected dye-B value. - The `noise.frecuency` configuration field does not drive the curl pass. The   active frequency is the mutable turbulence-frequency uniform.
  • Network accessline 359
    - The `noise.frecuency` configuration field does not drive the curl pass. The

skills/threejs-raymarched-space-effects/examples/curved-ray-accretion-volume/curved-ray-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-raymarched-space-effects/examples/schwarzschild-geodesic-black-hole/geodesic-black-hole-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-raymarched-space-effects/examples/traversable-wormhole-transit/celestial-spheres.js

  • Executable scriptline 1
    Executable file

skills/threejs-raymarched-space-effects/examples/traversable-wormhole-transit/wormhole-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/coastal-breaker-ocean.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/chain.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/coast.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/foam.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/noise.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/ocean.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/tsl.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/coastal-breaker-ocean/source/wave-field.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/ocean-beach-waves.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/coast.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/noise.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/shading.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/simulation.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/solver-accelerator.js

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    export async function enableSolverAcceleration(sim,bytes){  try{   if(!bytes){const response=await fetch(new URL('./solver-kernels.wasm?v=1.3.0',import.meta.url));if(!response.ok)return false;bytes=await response.arrayBuffer();}
  • Network accessline 5
    try{   if(!bytes){const response=await fetch(new URL('./solver-kernels.wasm?v=1.3.0',import.meta.url));if(!response.ok)return false;bytes=await response.arrayBuffer();}   const memory=new WebAssembly.Memory({initial:Math.ceil((65536+sim.n*4
  • Network accessline 6
    if(!bytes){const response=await fetch(new URL('./solver-kernels.wasm?v=1.3.0',import.meta.url));if(!response.ok)return false;bytes=await response.arrayBuffer();}

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/solver-kernels.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/spray.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/surface.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/terrain-grid.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/ocean-beach-waves/source/world.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/spectral-cascade-ocean/detail-texture.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/spectral-cascade-ocean/fft-pipeline.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/spectral-cascade-ocean/ocean-material.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/spectral-cascade-ocean/ocean-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/spectral-cascade-ocean/spectrum.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/stylized-above-below-ocean/stylized-ocean-material.js

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/caustics.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/current.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/fft-compute.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/grade.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/interface-structure-layer.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/medium.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/noise.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/ocean-foam.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/ocean-material.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/ocean-skirt-geometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/ocean-spectrum.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/ocean-system.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/optical-constants.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/random.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/seabed-material.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/seabed-radiance.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/seabed-surface.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/sky-dome.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/sky-radiance.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/sun.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/wake-foam-map.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/source/wave-sim.ts

  • Executable scriptline 1
    Executable file

skills/threejs-spectral-ocean/examples/submerged-snell-ocean/underwater-snell-ocean.ts

  • Executable scriptline 1
    Executable file

skills/threejs-temporal-surfaces/examples/refractive-window-rain/window-rain-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-temporal-surfaces/examples/touch-history-frost/frost-surface-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/cloud-effect.js

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/AerialPerspectiveEffect.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 371
    // Interpolation values are picked to match previous rough globe scales to       // match the previous "camera height" approach for interpolation.       // See: https://github.com/takram-design-engineering/three-geospatial/pull/23
  • Network accessline 373
    // See: https://github.com/takram-design-engineering/three-geospatial/pull/23

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/AtmosphereMaterialBase.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/AtmosphereParameters.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/IrradianceMaskPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/PrecomputedTexturesLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/SkyLightProbe.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 29
    // Constant term: L0 * sqrt(π)/2 == 0.5 // Linear term: L1 * π/3 * sqrt(3)/sqrt(π) == n/2 // See: https://github.com/mrdoob/three.js/blob/r170/src/math/SphericalHarmonics3.js#L85
  • Network accessline 30
    // Linear term: L1 * π/3 * sqrt(3)/sqrt(π) == n/2 // See: https://github.com/mrdoob/three.js/blob/r170/src/math/SphericalHarmonics3.js#L85 // See also: https://www.ppsloan.org/publications/StupidSH36.pdf
  • Network accessline 31
    // See: https://github.com/mrdoob/three.js/blob/r170/src/math/SphericalHarmonics3.js#L85
  • Network accessline 32
    // See also: https://www.ppsloan.org/publications/StupidSH36.pdf

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/SkyMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/StarsGeometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/StarsMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/SunDirectionalLight.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/blackBodyChromaticity.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 18
    // Convert temperature to black body chromaticity   // See: https://google.github.io/filament/Filament.html#lighting/directlighting/lightsparameterization/colortemperature
  • Network accessline 19
    // See: https://google.github.io/filament/Filament.html#lighting/directlighting/lightsparameterization/colortemperature
  • Network accessline 45
    // See: https://en.wikipedia.org/wiki/Color_index

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/celestialDirections.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/constants.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    const ref = '82e00c5222d6cbc222af69abdf6d3f4fc9f63030' export const DEFAULT_PRECOMPUTED_TEXTURES_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/atmosphere/assets`
  • Network accessline 17
    export const DEFAULT_PRECOMPUTED_TEXTURES_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/atmosphere/assets`
  • Network accessline 18
    export const DEFAULT_STARS_DATA_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/atmosphere/assets/stars.bin`

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/getAltitudeCorrectionOffset.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/getSunLightColor.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/helpers/functions.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/helpers/sampleTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/shaders/aerialPerspectiveEffect.vert

  • Network accessline 52
    // Gradually turn off altitude correction for aerial perspective as geometric   // error correction takes effect.   // See: https://github.com/takram-design-engineering/three-geospatial/pull/23#issuecomment-2542914656
  • Network accessline 53
    // error correction takes effect.   // See: https://github.com/takram-design-engineering/three-geospatial/pull/23#issuecomment-2542914656   vGeometryEllipsoidCenter =
  • Network accessline 54
    // See: https://github.com/takram-design-engineering/three-geospatial/pull/23#issuecomment-2542914656

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/shaders/functions.glsl

  • Network accessline 2
    // This file includes runtime functions only. Please refer to Bruneton's source // code for the whole picture. It has detailed comments. // https://github.com/ebruneton/precomputed_atmospheric_scattering/blob/master/atmosphere/functions.gls
  • Network accessline 4
    // https://github.com/ebruneton/precomputed_atmospheric_scattering/blob/master/atmosphere/functions.glsl
  • Network accessline 401
    // Hack to avoid rendering artifacts near the horizon, due to finite   // atmosphere texture resolution and finite floating point precision.   // See: https://github.com/ebruneton/precomputed_atmospheric_scattering/pull/32
  • Network accessline 402
    // atmosphere texture resolution and finite floating point precision.   // See: https://github.com/ebruneton/precomputed_atmospheric_scattering/pull/32   if (!ray_r_mu_intersects_ground) {
  • Network accessline 403
    // See: https://github.com/ebruneton/precomputed_atmospheric_scattering/pull/32

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/shaders/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/shaders/irradianceMask.frag

  • Network accessline 1
    // Based on: https://github.com/pmndrs/postprocessing/blob/v6.37.4/src/materials/glsl/depth-mask.frag

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/atmosphere/types.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CascadedShadowMaps.ts

  • Network accessline 1
    // Based on the following work with slight modifications. // https://github.com/StrandedKitty/three-csm/
  • Executable scriptline 1
    Executable file
  • Network accessline 2
    // https://github.com/StrandedKitty/three-csm/
  • Network accessline 3
    // https://github.com/mrdoob/three.js/tree/r169/examples/jsm/csm

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudLayer.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudLayers.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 153
    // Reference: https://dilipkumar.medium.com/interval-coding-pattern-068c36197cf5

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudShape.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudShapeDetail.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudsEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudsMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudsPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/CloudsResolveMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/DensityProfile.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/LocalWeather.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/PassBase.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/Procedural3DTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/ProceduralTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/ShaderArrayPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/ShadowMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/ShadowPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/ShadowResolveMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/Turbulence.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/bayer.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/constants.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    const ref = '45a1c6c1bb9fd38b3680fd120795ff4c32df68ff' export const DEFAULT_LOCAL_WEATHER_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/clouds/assets/local_weather.png`
  • Network accessline 5
    export const DEFAULT_LOCAL_WEATHER_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/clouds/assets/local_weather.png`
  • Network accessline 6
    export const DEFAULT_SHAPE_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/clouds/assets/shape.bin`
  • Network accessline 7
    export const DEFAULT_SHAPE_DETAIL_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/clouds/assets/shape_detail.bin`
  • Network accessline 8
    export const DEFAULT_TURBULENCE_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/clouds/assets/turbulence.png`

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/helpers/FrustumCorners.ts

  • Network accessline 1
    // Based on the following work with slight modifications. // https://github.com/StrandedKitty/three-csm/
  • Executable scriptline 1
    Executable file
  • Network accessline 2
    // https://github.com/StrandedKitty/three-csm/
  • Network accessline 3
    // https://github.com/mrdoob/three.js/tree/r169/examples/jsm/csm

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/helpers/setArrayRenderTargetLayers.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/helpers/splitFrustum.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 19
    // See: https://developer.nvidia.com/gpugems/gpugems3/part-ii-light-and-shadows/chapter-10-parallel-split-shadow-maps-programmable-gpus

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/qualityPresets.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/catmullRomSampling.glsl

  • Network accessline 1
    // Taken from https://gist.github.com/TheRealMJP/c83b8c0f46b63f3a88a5986f4fa982b1
  • Network accessline 2
    // TODO: Use 5-taps version: https://www.shadertoy.com/view/MtVGWz
  • Network accessline 4
    // https://www.shadertoy.com/view/4tyGDD

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/cloudShape.frag

  • Network accessline 1
    // Based on the following work with slight modifications. // https://github.com/sebh/TileableVolumeNoise
  • Network accessline 2
    // https://github.com/sebh/TileableVolumeNoise

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/cloudShapeDetail.frag

  • Network accessline 1
    // Based on the following work with slight modifications. // https://github.com/sebh/TileableVolumeNoise
  • Network accessline 2
    // https://github.com/sebh/TileableVolumeNoise

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/clouds.frag

  • Network accessline 170
    ) {   // r: frontDepth, g: meanExtinction, b: maxOpticalDepth, a: maxOpticalDepthTail   // Also see the discussion here: https://x.com/shotamatsuda/status/1885322308908442106
  • Network accessline 171
    // r: frontDepth, g: meanExtinction, b: maxOpticalDepth, a: maxOpticalDepthTail   // Also see the discussion here: https://x.com/shotamatsuda/status/1885322308908442106   vec4 shadow = texture(shadowBuffer, vec3(uv, float(cascadeIndex)));
  • Network accessline 172
    // Also see the discussion here: https://x.com/shotamatsuda/status/1885322308908442106
  • Network accessline 308
    // Numerically-fitted large particles (d=10) phase function It won't be // plausible without a more precise multiple scattering. // Reference: https://research.nvidia.com/labs/rtr/approximate-mie/
  • Network accessline 309
    // plausible without a more precise multiple scattering. // Reference: https://research.nvidia.com/labs/rtr/approximate-mie/ float phaseFunction(const float cosTheta, const float attenuation) {
  • Network accessline 310
    // Reference: https://research.nvidia.com/labs/rtr/approximate-mie/
  • Network accessline 390
    float approximateMultipleScattering(const float opticalDepth, const float cosTheta) {   // Multiple scattering approximation   // See: https://fpsunflower.github.io/ckulla/data/oz_volumes.pdf
  • Network accessline 391
    // Multiple scattering approximation   // See: https://fpsunflower.github.io/ckulla/data/oz_volumes.pdf   // a: attenuation, b: contribution, c: phase attenuation
  • Network accessline 392
    // See: https://fpsunflower.github.io/ckulla/data/oz_volumes.pdf
  • Network accessline 588
    // Energy-conserving analytical integration of scattered light       // See 5.6.3 in https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/s2016-pbs-frostbite-sky-clouds-new.pdf
  • Network accessline 589
    // See 5.6.3 in https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/s2016-pbs-frostbite-sky-clouds-new.pdf
  • Network accessline 596
    // Aerial perspective affecting clouds       // See 5.9.1 in https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/s2016-pbs-frostbite-sky-clouds-new.pdf
  • Network accessline 597
    // See 5.9.1 in https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/s2016-pbs-frostbite-sky-clouds-new.pdf
  • Network accessline 682
    // Analytical optical depth where density exponentially decreases with height.   // Based on: https://iquilezles.org/articles/fog/
  • Network accessline 683
    // Based on: https://iquilezles.org/articles/fog/

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/clouds.glsl

  • Network accessline 15
    vec2 getCubeSphereUv(const vec3 position) {   // Cube-sphere relaxation by: http://mathproofs.blogspot.com/2005/07/mapping-cube-to-sphere.html
  • Network accessline 16
    // Cube-sphere relaxation by: http://mathproofs.blogspot.com/2005/07/mapping-cube-to-sphere.html
  • Network accessline 17
    // TODO: Tile and fix seams.   // Possible improvements:   // https://iquilezles.org/articles/texturerepetition/
  • Network accessline 18
    // Possible improvements:   // https://iquilezles.org/articles/texturerepetition/   // https://gamedev.stackexchange.com/questions/184388/fragment-shader-map-dot-texture-repeatedly-over-the-sphere
  • Network accessline 19
    // https://iquilezles.org/articles/texturerepetition/
  • Network accessline 20
    // https://gamedev.stackexchange.com/questions/184388/fragment-shader-map-dot-texture-repeatedly-over-the-sphere
  • Network accessline 21
    // https://github.com/mmikk/hextile-demo
  • Network accessline 93
    // Modulation to control weather by coverage parameter.   // Reference: https://github.com/Prograda/Skybolt/blob/master/Assets/Core/Shaders/Clouds.h#L63
  • Network accessline 94
    // Reference: https://github.com/Prograda/Skybolt/blob/master/Assets/Core/Shaders/Clouds.h#L63

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/perlin.glsl

  • Network accessline 1
    // Ported from GLM: https://github.com/g-truc/glm/blob/master/glm/gtc/noise.inl

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/shadow.frag

  • Network accessline 109
    // decrease exponentially with the number of samples taken before reaching       // the minimum transmittance.       // See the discussion here: https://x.com/shotamatsuda/status/1886259549931520437
  • Network accessline 110
    // the minimum transmittance.       // See the discussion here: https://x.com/shotamatsuda/status/1886259549931520437       maxOpticalDepthTail = min(
  • Network accessline 111
    // See the discussion here: https://x.com/shotamatsuda/status/1886259549931520437

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/structuredSampling.glsl

  • Network accessline 1
    // Implements Structured Volume Sampling in fragment shader: // https://github.com/huwb/volsample
  • Network accessline 2
    // https://github.com/huwb/volsample
  • Network accessline 4
    // https://www.shadertoy.com/view/ttVfDc
  • Network accessline 11
    // Derive the vertices of icosahedron where triangle intersects the direction.   // See: https://www.ppsloan.org/publications/AmbientDice.pdf
  • Network accessline 12
    // See: https://www.ppsloan.org/publications/AmbientDice.pdf
  • Network accessline 80
    // Reference: https://github.com/huwb/volsample/blob/master/src/unity/Assets/Shaders/RayMarchCore.cginc

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/tileableNoise.glsl

  • Network accessline 1
    // Based on the following work with slight modifications. // https://github.com/sebh/TileableVolumeNoise
  • Network accessline 2
    // https://github.com/sebh/TileableVolumeNoise

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/shaders/varianceClipping.glsl

  • Network accessline 18
    // Reference: https://github.com/playdeadgames/temporal
  • Network accessline 40
    // Variance clipping // Reference: https://developer.download.nvidia.com/gameworks/events/GDC2016/msalvi_temporal_supersampling.pdf
  • Network accessline 41
    // Reference: https://developer.download.nvidia.com/gameworks/events/GDC2016/msalvi_temporal_supersampling.pdf

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/clouds/uniforms.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/DepthEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/DitheringEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/DownsampleThresholdMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/GeometryEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/GeometryPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/LensFlareEffect.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 51
    // Reference: https://www.froyok.fr/blog/2021-09-ue4-custom-lens-flare/

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/LensFlareFeaturesMaterial.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/NormalEffect.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/createHaldLookupTexture.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/setupMaterialsForGeometryPass.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/shaders/downsampleThreshold.frag

  • Network accessline 26
    // Reference: https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom
  • Network accessline 68
    // WORKAROUND: Avoid screen flashes if the input buffer contains NaN texels.   // See: https://github.com/takram-design-engineering/three-geospatial/issues/7
  • Network accessline 69
    // See: https://github.com/takram-design-engineering/three-geospatial/issues/7

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/effects/shaders/lensFlareFeatures.frag

  • Network accessline 40
    // Reference: https://john-chapman.github.io/2017/11/05/pseudo-lens-flare.html

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/ArrayBufferLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/DataLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/EXR3DLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/Ellipsoid.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/EllipsoidGeometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/Geodetic.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 82
    // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
  • Network accessline 83
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Geodetic.js#L119
  • Network accessline 114
    // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
  • Network accessline 115
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Cartesian3.js#L916

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/PointOfView.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/Rectangle.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/STBNLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/Texture3DLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/TileCoordinate.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/TilingScheme.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 38
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/GeographicTilingScheme.js#L210
  • Network accessline 67
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/GeographicTilingScheme.js#L169

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/TypedArrayLoader.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/assertions.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/bufferGeometry.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/constants.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    const ref = '9627216cc50057994c98a2118f3c4a23765d43b9' export const DEFAULT_STBN_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/core/assets/stbn.bin`
  • Network accessline 6
    export const DEFAULT_STBN_URL = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${ref}/packages/core/assets/stbn.bin`

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/decorators.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/defineShorthand.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/helpers/projectOnEllipsoidSurface.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
  • Network accessline 6
    // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/scaleToGeodeticSurface.js

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/math.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/resolveIncludes.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/shaders/cascadedShadowMaps.glsl

  • Network accessline 1
    // Reference: https://github.com/mrdoob/three.js/blob/r171/examples/jsm/csm/CSMShader.js

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/shaders/index.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/shaders/interleavedGradientNoise.glsl

  • Network accessline 1
    // Reference: https://advances.realtimerendering.com/s2014/index.html#_NEXT_GENERATION_POST

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/shaders/packing.glsl

  • Network accessline 1
    // Reference: https://jcgt.org/published/0003/02/01/paper.pdf

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/shaders/turbo.glsl

  • Network accessline 1
    // A fifth-order polynomial approximation of Turbo color map. // See: https://observablehq.com/@mbostock/turbo
  • Network accessline 2
    // See: https://observablehq.com/@mbostock/turbo

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/shaders/vogelDisk.glsl

  • Network accessline 1
    // Reference: https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/typedArray.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/typedArrayParsers.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/types.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/geospatial/unrollLoops.ts

  • Network accessline 1
    // Based on: https://github.com/mrdoob/three.js/blob/r170/src/renderers/webgl/WebGLProgram.js#L294
  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/vendor/tiny-invariant.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/examples/weather-volume-clouds/source/vendor/url-join.ts

  • Executable scriptline 1
    Executable file

skills/threejs-volumetric-clouds/references/weather-volume-and-reconstruction.md

  • Network accessline 150
    The 2D turbulence texture stores a normalized curl field derived from three

skills/threejs-water-optics/assets/photoreal-water/pebbles.js

  • Executable scriptline 1
    Executable file

skills/threejs-water-optics/examples/interactive-pool-volume/water-volume-system.js

  • Executable scriptline 1
    Executable file

skills/threejs-water-optics/examples/luminescent-water/luminescent-water.js

  • Executable scriptline 1
    Executable file
  • Network accessline 129
    // ============================================================================================ //  Shared TSL helpers: macro terrain fetch (manual bilinear on f32), full-detail bed height
  • Network accessline 130
    //  Shared TSL helpers: macro terrain fetch (manual bilinear on f32), full-detail bed height
  • Network accessline 193
    } const Uget = (V) => (idx) => V.element(idx).x; const Wget = (V) => (idx) => V.element(idx).y;
  • Network accessline 194
    const Uget = (V) => (idx) => V.element(idx).x; const Wget = (V) => (idx) => V.element(idx).y; const velAt = (V, px, pz) => vec2(bilin(Uget(V), px.sub(0.5), pz), bilin(Wget(V), px, pz.sub(0.5)));
  • Network accessline 195
    const Wget = (V) => (idx) => V.element(idx).y;

skills/threejs-water-optics/examples/photoreal-water/photoreal-water.js

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

No combined signals at this commit.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath .claude/CLAUDE.md.claude/skills/<skill-name>/
CodexNativeManifest .codex/AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/threejs-atmosphere-aerial-perspective/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/threejs-atmosphere-aerial-perspective/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/threejs-atmosphere-aerial-perspective/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/threejs-atmosphere-aerial-perspective/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

scottstts/Threejs-Awesome-Graphics-Agent-Skills: #912 on hotskills, 976 stars

[![scottstts/Threejs-Awesome-Graphics-Agent-Skills on hotskills](https://hotskills.dev/badge/scottstts-threejs-awesome-graphics-agent-skills.svg)](https://hotskills.dev/skill/scottstts-threejs-awesome-graphics-agent-skills/)