mcpField
T
threejs-screen-space-ambient-occlusion

threejs-screen-space-ambient-occlusion

github.com/scottstts创意与媒体94697 次安装6 天前更新
代码仓库

关于 threejs-screen-space-ambient-occlusion

为 Three.js 屏幕空间环境光遮蔽提供指导,用于估算环境可见度并调制间接光照,涵盖 GTAO、弯曲法线、降噪与 AO 应用。

主要功能

  1. 01验证线性深度与视空间法线
  2. 02重建视空间位置
  3. 03采样视域可见度
  4. 04基于深度与法线的降噪
  5. 05将 AO 应用于间接光照

适用场景

  1. 01在 Three.js 场景实现 GTAO
  2. 02降低屏幕空间 AO 噪点
  3. 03避免压暗直射光与自发光
  4. 04协调 AO 与图像空间渲染通道

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scottstts/threejs-awesome-graphics-agent-skills --skill threejs-screen-space-ambient-occlusion

安装后在 Claude Code 中输入/threejs-screen-space-ambient-occlusion确认已加载。

附带文件agents/openai.yamlreferences/gtao-bent-normal-pipeline.md

详细介绍

屏幕空间环境光遮蔽

AO 用于估计缺失的环境可见性。它应调制间接光照,而不是用深色乘法重绘整个场景的颜色。

工作流

  1. 验证线性深度和视空间法线。
  2. 一致地重建视空间位置。
  3. 在受控半径内采样地平线可见性。
  4. 估算 AO 和可选的弯曲法线。
  5. 使用深度/法线感知滤波器进行降噪。
  6. 将其应用于间接漫反射和环境响应。

阅读 references/gtao-bent-normal-pipeline.md。

失败条件

  • 直射光和自发光被调暗;
  • 半径仅以像素指定;
  • 前景轮廓产生厚重的屏幕空间光晕;
  • 深度不连续处被混合到一起;
  • 在世界空间半径已小于一个像素的距离上,AO 仍然很强;
  • 弯曲法线被当作普通几何法线处理;
  • 实际上没有时间累积,但实现却声称使用了时间累积。

路由边界

此技能负责 GTAO 采集、弯曲法线、降噪和 AO 应用。 仅当其深度/法线缓冲区或通道顺序必须与其他图像空间系统协调时, 才使用 $threejs-image-pipeline。

评论

支持 Markdown