Commit Graph

4 Commits (9259bb9c6f01a446e76ba997832cd316cfa01122)

Author SHA1 Message Date
ternaryop8479 6d9d95ddad feat: 实现纹理缓存、GGX BRDF、Sobol采样、时域降噪
### 纹理数组内容哈希缓存
- feat: 添加纹理配置哈希追踪,避免每帧重建纹理数组
- feat: 实现增量更新,只重建变化的纹理槽位
- fix: 消除 O(n²) 重复纹理线性搜索

### GGX 微表面 BRDF
- feat: 实现 GGX/Trowbridge-Reitz 法线分布函数
- feat: 添加 GGX 重要性采样替代简单扰动反射
- fix: 修复金属材质物理计算,提升收敛速度

### GBuffer 八面体法线编码
- feat: 法线从 RGBA32F 压缩到 RG32F,带宽减少 50%
- feat: 添加八面体编码/解码函数 (encoding.h)
- fix: 更新 GBuffer 着色器和绑定格式

### Sobol 低差异序列采样
- feat: 实现 8 维 Sobol 序列 + Owen 置乱
- feat: 收敛速度从 O(1/√n) 提升到 O(1/n)
- fix: 改进 PCG 种子策略,减少帧间相关性

### 降噪器时域累积
- feat: 添加历史帧纹理和 EMA 混合
- fix: 场景变化时自动重置历史
- fix: 显著减少闪烁,提升视觉稳定性
2026-04-04 22:21:42 +08:00
ternaryop8479 39822e9dae feat: 实现纹理数组支持PBR贴图
- 添加纹理数组(bindless texture)支持
- RayTracer添加texture_arrays_成员存储6种纹理类型
- 添加build_texture_arrays_函数构建纹理数组
- 修改shader使用sampler2DArray进行纹理采样
- 添加sample_texture_array辅助函数
2026-03-06 19:24:44 +08:00
ternaryop8479 61739bf2d6 chore: removed AGENTS.md 2026-03-05 22:07:48 +08:00
ternaryop8479 0c48d53d5c feat: 实现完整PBR材质系统及修复
- 扩展Material类,添加PBR纹理槽(Albedo/Normal/Metallic/Roughness/AO/Emission)
- 添加Mesh::compute_tangents()方法用于法线贴图计算
- 扩展RayTracer材质上传,支持纹理句柄传递
- 更新raytracing compute shader,添加PBR纹理采样和法线贴图TBN变换
- 修复GLSL/C++结构体内存对齐问题
- 添加ACES色调映射解决自发光过曝问题
- 修复累积缓冲区应在色调映射前存储HDR值
- 修复G-Buffer材质类型未传递给光线追踪的问题
- 添加玻璃材质折射逻辑(折射比例、法线翻转、全内反射)
- Cornell Box示例添加玻璃球(折射)、发光球(自发光)和金属球测试
2026-03-05 21:57:26 +08:00