实时全局光照 2
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
Today
在三维空间中的光线传播场
好又快,广泛应用
3D 网格中的 Radiance
Steps
哪些点发出间接光,注入格子,传播光线
Problems
漏光现象,light leaking
可以用自适应的分割方法 :cascade,lod
场景体素化,存储光照信息。
每个格子需要记录 radiance,即方向和强度,还有法线分布
LPV 是使用 RSM 直接照亮像素,而 VXGI 是直接照亮体素
LPV 照亮像素是使用当前格子内的光照,而 VXGI 要算 ConeTracing 里所有每个格子对当前像素的贡献
可以使用层级结构,进行大范围一次查询
Diffuse 的 ConeTracing 要多次
本质就是用 3D 纹理表示 Directional ShadowMap,然后进行 RSM。
从摄像机接收光的像素开始对场景进行 cone tracing,圆锥体光线追踪,
遇到反射介质,可以继续向四周进行 cone tracing
通过 contect shadow 把物体区分开来,描边也是做到类似的效果
是一个全局光照的近似
屏幕空间的环境光遮蔽
feature
物体接触的中间看上去有阴影
容易实现
对于全局光照的近似
key idea
表面一点对于任意方向收到的光强一致
看作是 Diffuse 物体各个方向上的 BRDF 一致
各个方向可见性不一致,像素点在各个方向上的无限远处的环境光接收量不一致
建模软件里称为天光
实时渲染公式推出来的就是平均可见性 * 一个常数
加权和除以权和就是加权平均的做法
为什么 cosθ 也能一起提出来
第三种简单的推导方式
使用 z-buffer 来计算平均可见性
通过 z-buffer 大致模拟出像素点周围区域形状
像素周围球体范围内随机采样点,判断点是否处于物体内部,判断接收光线的数量
限制一定范围内的遮挡才有贡献,相隔较远的物体,不应当发生遮蔽
只有红点过半才考虑 AO
可以先少量采样加速,产生有噪声的图,再统一模糊一遍
Generation of raidance opint set scene representation
Injection of point cloud of virtual lisght sources into radiance volume
Volumetric radiance propagation
Scene lighting with final light propagation volume
+