用途:解决 Three.js r185 WebGPU/TSL 中方向光阴影的“适配”问题——先用最小的光空间表示覆盖所需投射者到接收者的光线,再把开销花在接收者真正使用的投影、滤波与更新上。可选 $threejs-choose-skills 做多系统协调,$threejs-visual-validation 提供捕获/回读证据。
主要能力:一是拓扑选择,在单张有界方向光阴影、CSMShadowNode、TileShadowNode 与自定义缓存 clipmap 之间,按同一固定负载比较绘制、光栅、接收者、绑定与复用压力,每个被拒分支需有失败门槛。二是投影与纹素适配,XY 按带偏移的接收者坐标加滤波、吸附与覆盖保护拟合,Z 独立拟合接收者及其光线上所有遮挡物;使用稳定方向光基与全局/光照锚点,按固定 dx/dy 网格吸附。三是滤波与偏移,按实际 Basic/PCF/PCFSoft/VSM 实现与后端推导滤波支持,normalBias 为世界空间法线偏移,bias/biasNode 为归一化比较深度偏移,需分别推导验证。四是 r185 实现门槛,需先 await renderer.init() 并检查 renderer.backend.isWebGPUBackend !== true 时抛错;自定义节点须在材质/光照图构建前挂到 light.shadow.shadowNode。五是自定义缓存状态机,区分 desired、rendered、committed、dirty、invalid,接收者只采样 committed,无效层级权重为零并由下一有效粗层级继承。六是失效与投射者一致性,跟踪光照基、投射者前后变换、几何/LOD、可见性、层、投射标志、alpha/覆盖、变形包络与资源标识,对前后保守轮廓做并集或扫掠。七是持续验证与生命周期,测量预热后 CPU/GPU 帧分位、阴影视图绘制与三角形、滤波评估、分配、绑定、无效覆盖与更新尖峰,并验证 dispose/recreate 后计数回到基线。
使用方式:按资料中的六步流程执行,涉及自定义缓存时先阅读缓存状态、调度与采样契约,涉及扫掠失效与投射者一致性时阅读对应契约。
适用场景:需要在大范围覆盖、相机深度连续变化、固定正交足迹分区或大范围持久覆盖等条件下选择并实现方向光阴影的 Three.js r185 WebGPU 项目。
限制:资料未提供具体价格、平台支持范围与性能数值承诺;不得用复制的贴图尺寸、层级数、偏移或毫秒承诺驱动选择。该技能负责方向光阴影投影、滤波/偏移、投射者一致性、缓存状态/失效、接收者采样与阴影诊断;场景所有者提供投射者/光照输入,管线所有者控制共享输出与因阴影内容变化导致的时间辐射拒绝。