360 Secure SkillHub
360 安全技能中心

threejs-shadow-systems

该 Skill 面向 Three.js 的大型程序化世界、城市与地形,说明缓存裁剪图阴影、级联覆盖、纹素稳定、更新预算与目标失效等实现方法,并列出失效条件和与 AO 的分工边界。

分类:开发
scottstts
热度 0.00
最近更新 2026-11-01 05:23:29

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add scottstts/threejs-awesome-graphics-agent-skills/threejs-shadow-systems
兼容性
通用兼容
联网要求
不联网
数据出网
数据不出本机
Metadata
name
threejs-shadow-systems
description
Implement stable, scalable directional-shadow systems for Three.js. Use for large procedural worlds, city scenes, terrain, moving cameras, WebGPU/TSL shadow nodes, cascades, cached clipmaps, texel stabilization, update budgets, and targeted invalidation.

Shadow Systems

Use a single shadow map only when its receiver region is genuinely bounded. For large moving views, make shadow coverage an explicit spatial hierarchy.

Cached clipmap workflow

  1. Define concentric light-space square levels.
  2. Snap each level center to its own texel grid.
  3. Cross-fade adjacent levels in shader space.
  4. Refresh near levels continuously.
  5. Cache coarse levels and update them under a frame budget.
  6. Invalidate intersecting levels when important casters or streamed terrain change.
  7. Scale normal bias by world-space texel width.

Read references/cached-clipmap-shadows.md before implementing a large-world directional light.

Read the cached shadow clipmaps for three light-space square levels, per-level texel snapping, containment cross-fades, cached coarse updates, scaled bias, and unshadowed outside weight.

Failure conditions

  • projection centers move by fractions of a texel;
  • shader containment does not match the map's committed center;
  • all cascades refresh every frame without evidence;
  • coarse levels freeze moving casters indefinitely;
  • depth texture samples occur in divergent fragment control flow;
  • the same normal bias is used across radically different texel sizes;
  • level boundaries become visible under camera motion.

Routing boundary

Use this skill for light-space directional shadow maps. Use $threejs-screen-space-ambient-occlusion for view-dependent ambient visibility; AO is not a replacement for cast shadows.