Commit Graph

7 Commits (main)

Author SHA1 Message Date
ternaryop8479 9259bb9c6f feat: 添加超分辨率模块框架,实现光线追踪低倍率渲染
- 实现超分辨率模块基本框架(super_resolution.h/.cpp/.comp)
- 实现非完整倍率光线追踪采样(支持整数倍采样缩放倍率,super_resolution.comp&raytracing.comp&tonemap.glsl)
2026-05-22 23:26:29 +08:00
ternaryop8479 25547365e8 refactor: 优化随机数生成器,提升收敛速度和采样质量
- 扩展Sobol低差异序列从8维至16维,避免高维度退化为白噪声
- 漫反射采样改用余弦加权重要性采样,匹配Lambertian BRDF概率分布
- 为PCG随机数添加53位高精度模式,提升数值稳定性
- 同步优化PCG版本的scatter_diffuse使用余弦加权采样
2026-04-11 22:57:45 +08:00
ternaryop8479 adfe38a453 refactor: 优化shader代码,消除性能瓶颈和代码重复
- 重构BVH三角形相交函数,统一trace_ray_bvh和trace_any_bvh的相交检测
- 修复Windows平台binding point限制,将g_texcoord从7改为2,g_tangent从8改为7
- 优化Fresnel计算,scatter_dielectric_sobol调用fresnel_dielectric函数消除内联重复
- 删除6处冗余normalize调用(material.glsl和raytracing.comp中的scatter函数)
- 纹理数组支持per-slot哈希缓存,避免每帧重建
2026-04-11 22:44:46 +08:00
ternaryop8479 08910e48d7 feat: 拆分三角形数据结构,添加三角形边预计算功能
- 拆分原TriangleGpu类为TriangleCompactGpu与TriangleAttrGpu两个类,Compact负责相交检测,仅检测到击中后再上传三角形详细数据,减少数据上传
- 在upload_to_gpu()中预计算三角形的e1&e2边
- 同步shader端逻辑
2026-04-06 22:58:13 +08:00
ternaryop8479 09667267fe feat: 实现LBVH算法
- feat: 使用基于Morton码排序&SAH的LBVH算法实现BVH构建
- feat: 实现BVH子节点按照距离排序功能
- chore: 删除冗余接口
2026-04-06 00:19:16 +08:00
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 58d6184085 refactor: 重构shaders目录结构,手动编写include处理逻辑 2026-03-28 10:10:11 +08:00