← 返回图形编程

GLSL 着色器路径追踪渲染器

基于 GLSL/OpenGL 的 GPU 加速路径追踪渲染器,支持 MIS 与 BVH

日期 2025年5月
标签
glslopenglc++

封面渲染

128spp,1303×2000,无降噪,2 分 19 秒。ACES 色调映射

封面渲染

角色模型来自 YYB-Era,场景模型、构图与打光由我完成。

材质

Trowbridge-Reitz 微表面镜面反射与透射

1024spp,1000×1000,无降噪。Reinhard 色调映射

粗糙度 0.01粗糙度 0.05粗糙度 0.25
粗糙度 0.01粗糙度 0.05粗糙度 0.25
粗糙度 0.50粗糙度 0.75粗糙度 0.95
粗糙度 0.50粗糙度 0.75粗糙度 0.95

Oren-Nayar 微表面漫反射

512spp,1000×1000,已降噪。ACES 色调映射。Oren-Nayar 模型使用 sigma = 0.8。

可以明显看到,常规的简化 Oren-Nayar 比 Lambertian 更暗——这是因为最常见的简化 Oren-Nayar 模型并不满足能量守恒,当 sigma > 0 时 A < 0,从而损失光能。下方的渲染加入了一个小的能量守恒补偿。

渲染差异最明显的部分是石头和龙的下颌——在这些掠射角下,Oren-Nayar 模型能更好地保留光能。

LambertianOren-Nayar(能量守恒修正)Oren-Nayar
LambertianOren-Nayar EC FixOren-Nayar

模型来自 Benedikt Bitterli 的渲染资源库

金属导体的 Fresnel 反射率

金 — eta [0.183, 0.421, 1.373],k [3.424, 2.346, 1.770]

铜 — eta [0.271, 0.677, 1.316],k [3.609, 2.625, 2.292]

铝 — eta [1.655, 0.879, 0.520],k [9.224, 6.270, 4.837]

金属材质

Intel OpenImageDenoise

12spp,1303×2000。ACES 色调映射

原始降噪后
原始降噪后

环境贴图

1024spp,1000×1000,2 秒。Reinhard 色调映射

康奈尔盒玻璃球
康奈尔盒玻璃球

顶部的封面渲染使用的是程序化天空盒。

景深

128spp,1303×2000,无降噪。ACES 色调映射

无景深开启景深
无景深景深
球面镜头变形宽银幕
球面镜头变形宽银幕

NEE 演示渲染

1024spp,1000×1000

面光源聚光灯球形光源
面光源聚光灯球形光源
点光源粗糙镜面Veach 场景
点光源粗糙镜面Veach