threejs-screen-space-ambient-occlusion

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Screen-Space Ambient Occlusion

屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion)

AO estimates missing ambient visibility. It must modulate indirect lighting, not repaint all scene color with a dark multiply.
AO用于估算缺失的环境可见性。它必须调制间接光照,而非用深色乘法重新绘制所有场景颜色。

Workflow

工作流程

  1. Verify linear depth and view-space normals.
  2. Reconstruct view position consistently.
  3. Sample horizon visibility in a controlled radius.
  4. Estimate AO and optional bent normal.
  5. Denoise with depth/normal-aware filters.
  6. Apply to indirect diffuse and environment response.
Read references/gtao-bent-normal-pipeline.md.
  1. 验证线性深度和视图空间法线。
  2. 一致地重建视图位置。
  3. 在可控半径内采样水平线可见性。
  4. 估算AO及可选的弯曲法线。
  5. 使用感知深度/法线的过滤器进行去噪。
  6. 应用于间接漫反射和环境响应。
阅读references/gtao-bent-normal-pipeline.md

Failure conditions

故障情况

  • direct light and emission are darkened;
  • radius is specified only in pixels;
  • foreground silhouettes cast thick screen-space halos;
  • depth discontinuities are blurred together;
  • AO remains strong at distances where its world radius is subpixel;
  • bent normals are treated as ordinary geometric normals;
  • the implementation claims temporal accumulation even though this path has none.
  • 直接光照和发光效果变暗;
  • 仅以像素为单位指定半径;
  • 前景轮廓投射出浓重的屏幕空间光晕;
  • 深度不连续区域被模糊在一起;
  • 在AO的世界半径低于像素级的距离处,AO效果仍然强烈;
  • 弯曲法线被当作普通几何法线处理;
  • 实现声称支持时间累积,但此路径并无该功能。

Routing boundary

路由边界

This skill owns GTAO gathering, bent normals, denoising, and AO application. Use
$threejs-image-pipeline
only when its depth/normal buffers or pass order must be coordinated with other image-space systems.
此技能负责GTAO采集、弯曲法线、去噪及AO应用。仅当深度/法线缓冲区或渲染通道顺序必须与其他图像空间系统协调时,才使用
$threejs-image-pipeline