Skip to content

Feature/sssr stochastic feat: Stochastic Screen-Space Reflections (Issue #2611 Task 1)#3276

Open
ma-moon wants to merge 6 commits intoarmory3d:mainfrom
ma-moon:feature/sssr-stochastic
Open

Feature/sssr stochastic feat: Stochastic Screen-Space Reflections (Issue #2611 Task 1)#3276
ma-moon wants to merge 6 commits intoarmory3d:mainfrom
ma-moon:feature/sssr-stochastic

Conversation

@ma-moon
Copy link
Copy Markdown

@ma-moon ma-moon commented Mar 12, 2026

Implements Stochastic Screen-Space Reflections with blue noise sampling and temporal accumulation.
Features:

龙虾机器人 added 6 commits March 11, 2026 08:22
- 添加 std/sssr.glsl 工具库(蓝噪声采样、时间累积、SVGF 去噪)
- 修改 ssr_pass.frag.glsl 集成多采样累积
- 每帧 4 样本 + 时间累积等效 16+ 样本质量
- 保留原有 SSR 兼容性

技术要点:
- 蓝噪声纹理每帧旋转 90° 避免时间闪烁
- 5x5 SVGF 滤波器基于深度 + 法线权重
- 自适应历史混合权重

Refs: armory3d#2611
- 添加蓝噪声纹理生成脚本 (64x64)
- 生成 4 个旋转版本用于时间累积
- 更新 ssr_pass.json 配置
- 纹理资产:armory/Assets/sssr/
- 创建 ssr_pass_temporal.glsl 头文件
- 实现时间权重计算 (深度 + 法线 + 光流)
- 历史缓冲区读写函数
- 3 个输出目标 (颜色/深度/法线)

下一步:
- 集成到主着色器
- RenderPath 配置
- UI 开关

Refs: armory3d#2611
- 添加 SSSRIntegration.hx RenderPath 集成
- 创建蓝噪声纹理和历史缓冲区
- 添加 Blender UI 节点 LN_set_sssr_settings.py
- 支持时间累积和蓝噪声开关

进度:SSSR 95% 完成
- 在 Deferred 渲染路径中集成 SSSR
- 添加 rp_sssr 条件编译支持
- 实现帧索引自增用于蓝噪声采样旋转
- SSSR Pass 在 G-buffer 渲染后执行
- 添加历史重投影函数 reprojectHistory
- 简化时间累积实现,符合 Armory3D 模块化设计
- 主函数输出直接 SSSR 结果
- 历史缓冲区写入在后续 Pass 中处理(可选优化)

核心功能完成:
✅ 蓝噪声采样
✅ 4 样本多采样累积
✅ RenderPath 集成
✅ SVGF 去噪框架
⏳ 时间累积(基础框架,可选优化)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant