ternaryop8479
|
fdbe96af40
|
chore: 优化config设计,将光线追踪配置类直接作为RendererConfig成员变量
|
2026-04-07 17:09:40 +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
|
93125b2e0b
|
fix: 修复BVH建树时节点过少问题
- fix: 修改SAH (find_best_split_函数)实现方式
- fix: 修改建树过程中的分割判断
|
2026-04-04 23:58:55 +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 |
ternaryop8479
|
d7f5c7e5cc
|
feat&fix: 优化shaders
- fix: 修复raytracing.comp random_in_unit_sphere()死循环
- fix: 合并raytracing.comp相机光线生成函数
- feat: 将denoiser.comp修改为双边滤波降噪
- chore: 格式化shader注释
|
2026-03-28 09:54:02 +08:00 |
ternaryop8479
|
687a79b526
|
feat: 添加ResourceManager统一管理资源
- 注释规范化
- 修复shader_cache_引用错误
- 简化shader_manager.cpp release函数
- 添加ResourceManager用于资源管理
|
2026-03-28 09:00:21 +08:00 |
ternaryop8479
|
917281d8f4
|
fix: 修复调试用全局光照代码未删除导致影响光追质量的问题
|
2026-03-26 23:26:20 +08:00 |
ternaryop8479
|
232f77deb3
|
chore: 删除冗余上传、遗留代码
|
2026-03-07 14:22:22 +08:00 |
ternaryop8479
|
4f39cba9cd
|
chore: 清理BVH构建及shader上传警告
|
2026-03-07 14:03:51 +08:00 |
ternaryop8479
|
8732446237
|
fix: 修复PBR纹理属性与材质值混合问题及AO实现
- 将纹理采样从乘法混合改为直接替换
- 添加Material结构的ao字段并在光照计算中正确应用
- 更新demo使用完整的PBR砖墙纹理
|
2026-03-07 13:32:25 +08:00 |
ternaryop8479
|
330fdcf43d
|
fix: 修复法线贴图计算问题并修复G-Buffer和非Primary Ray的tangent有关bug
- G-Buffer添加tangent上传
- BVH部分附加tangent到Triangle数据
- 删除原tangent近似计算代码并在代码中使用传入的tangent
|
2026-03-06 23:59:46 +08:00 |
ternaryop8479
|
c88e786deb
|
feat: 添加法线贴图测试Demo
- 新增normal_map_cornell_box.cpp测试程序
- 加载albedo和normal贴图应用于短方块
- 生成测试用砖块纹理和法线贴图
|
2026-03-06 19:53: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
|
56b30edde2
|
chore: 微调cornell_box demo
|
2026-03-05 22:07:30 +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 |
ternaryop8479
|
fab45b52a3
|
Revert "refactor: 为后续PBR材质贴图等内容修改并重写纹理部分"
This reverts commit 9b63afd9ae.
不想写了年后再说
|
2026-02-16 22:12:53 +08:00 |
ternaryop8479
|
9b63afd9ae
|
refactor: 为后续PBR材质贴图等内容修改并重写纹理部分
|
2026-02-16 14:07:37 +08:00 |
ternaryop8479
|
df2a2ea65e
|
feat: 为example添加相机操控功能
|
2026-02-16 14:04:35 +08:00 |
ternaryop8479
|
022c15681a
|
docs: 修订README排版,修改细节
|
2026-02-16 11:54:41 +08:00 |
ternaryop8479
|
7de250ec79
|
docs: 添加README.md
|
2026-02-15 22:14:03 +08:00 |
ternaryop8479
|
191b764747
|
refactor: 删除config模块无用内容
|
2026-02-15 15:49:21 +08:00 |
ternaryop8479
|
c039b83c57
|
style: 格式化代码及注释
|
2026-02-15 15:30:05 +08:00 |
ternaryop8479
|
d598b26845
|
fix&style: 修复screen_blit崩溃问题,微调raytracer内部接口规范
|
2026-02-15 00:19:34 +08:00 |
ternaryop8479
|
d0a3b1d772
|
fix: 修复CMake过程中找不到spdlog头文件编译报错问题
|
2026-02-15 00:03:49 +08:00 |
ternaryop8479
|
7b2699a74f
|
chore: 移除info类型日志的代码详细追踪信息
|
2026-02-14 23:58:00 +08:00 |
ternaryop8479
|
00243a090f
|
chore: 将screen_blit shader的加载方式从硬编码修改为由shader_manager加载
|
2026-02-14 23:55:41 +08:00 |
ternaryop8479
|
2284124628
|
refactor&feat: 重写日志系统,添加代码追踪信息
|
2026-02-14 23:11:26 +08:00 |
ternaryop8479
|
9136627b2a
|
chore: 将stb作为普通目录上传
|
2026-02-14 13:39:49 +08:00 |
ternaryop8479
|
25447b0f34
|
chore: 将spdlog和stb作为普通目录上传
|
2026-02-14 13:36:49 +08:00 |
ternaryop8479
|
d38b92b8da
|
remove:删除model_loader模块
|
2026-02-12 00:00:48 +08:00 |
ternaryop8479
|
6b6c754b5f
|
feat:添加降噪模块(均值滤波)
|
2026-02-11 23:37:25 +08:00 |
ternaryop8479
|
ee7c843845
|
build:编写CMakeLists.txt
|
2026-02-11 23:23:50 +08:00 |
ternaryop8479
|
c975a153c7
|
refactor:移除include/extended_folders.list,上传lib/stb中内容
|
2026-02-11 22:52:54 +08:00 |
ternaryop8479
|
24be211acc
|
Revert "fix&feat:修复spp过高会崩溃问题,添加均值滤波功能"
This reverts commit bc4ec55b95.
修复单次spp过高导致崩溃问题时引入了多帧累积失效问题,故进行一次回滚。
|
2026-02-11 22:25:26 +08:00 |
ternaryop8479
|
bc4ec55b95
|
fix&feat:修复spp过高会崩溃问题,添加均值滤波功能
|
2026-02-11 19:01:41 +08:00 |
ternaryop8479
|
adb23b6798
|
Fix:修改.gitignore,不上传LSP语言文件
|
2026-02-11 12:31:35 +08:00 |
ternaryop8479
|
e0e81e5dc6
|
Fix:修改.gitignore,不上传LSP语言文件
|
2026-02-11 12:30:33 +08:00 |
ternaryop8479
|
dbe0bd3385
|
Fix&Add: 禁Buffer/Texture类拷贝,添加Materials/Lights->GPU按需上传功能
|
2026-02-11 12:12:38 +08:00 |
ternaryop8479
|
b8ae9808a8
|
Refractor&Add: 使用shared_ptr优化Shader管理、添加基于G-Buffer的光线追踪、添加场景重建API
|
2026-02-11 00:27:37 +08:00 |
ternaryop8479
|
52c6ace2cd
|
Fix&Add:修复最多只能上传256个material的虫,添加BVH上传代码和光线追踪实现
|
2026-02-10 17:29:53 +08:00 |
ternaryop8479
|
d418dedcd4
|
Fix&Add:修复最多只能上传256个material的虫,添加BVH上传代码和光线追踪实现
|
2026-02-10 17:28:43 +08:00 |
ternaryop8479
|
d0d97032db
|
Fix&Add:修复最多只能上传256个material的虫,添加BVH上传代码和光线追踪实现
|
2026-02-10 17:10:59 +08:00 |
ternaryop8479
|
03baf12976
|
Fix: 修改raytracing.comp部分细节
|
2026-02-10 15:01:47 +08:00 |
ternaryop8479
|
5826c8c729
|
Revert "Fix:修复了material最大只能加载255个的问题"
This reverts commit 2e850c40ff.
上一个修复可能导致未知的GPU数据传递问题,故回滚至上一次commit.
|
2026-02-10 00:39:35 +08:00 |
ternaryop8479
|
2e850c40ff
|
Fix:修复了material最大只能加载255个的问题
|
2026-02-10 00:32:56 +08:00 |
ternaryop8479
|
dbf5b8579c
|
Refactor:重写所有代码、重新设计架构,实现大体架构和G-Buffer渲染
|
2026-02-09 22:16:57 +08:00 |
ternaryop8479
|
136677c456
|
Initial structure.
|
2026-02-09 18:32:13 +08:00 |