苏宁推客如何做网站,创建一个网站的步骤,东莞网站优化排名系统,aso优化技巧本文仅记述SSDO学习笔记#xff01;
概述
SSDO Screen-space Direction Occlusion 是对AO的扩充#xff0c;在AO的基础上#xff0c;假设没有遮蔽的方向有直接入射光#xff0c;有遮蔽的方向#xff0c;可能有间接光的反射。
SSAO理论分析 AO#xff1a;在计算点的周围…本文仅记述SSDO学习笔记
概述
SSDO Screen-space Direction Occlusion 是对AO的扩充在AO的基础上假设没有遮蔽的方向有直接入射光有遮蔽的方向可能有间接光的反射。
SSAO理论分析 AO在计算点的周围进行采样如果采样点的深度大于采样点所对应的屏幕空间的深度则认为是没有光照进入否则我们则认为有间接光照这样我们就可以对所有采样方向进行积分计算这一点的光照。
让我们来看一下如何进行计算的
一切起源于渲染方程在渲染方程中我们有三项值得注意入射光BRDF以及可见度。 然而在实时渲染中我们有一个伟大的近似公式
这里需要f(x) 必须要比较光滑。或者average f(x) in the support of G 那么我们可以依据这个公式将可见度分离出来并进行积分注意在AO里面是间接光照并且是个常数。 对cosθidωicos\theta_{i}\mathrm{d}\omega_{i}cosθidωi的积分是什么呢 对其实就是算一个投影立体角即π\piπ。
由此我们的渲染方程就转变为 实则在这里我们就可以看出来这还是求解渲染方程那么就可以理解为屏幕空间的光线追踪。 在object space进行光线追踪是非常慢的并且依赖于屏幕的分辨率以及难以理解和计算麻烦。 在屏幕空间计算则非常简单不依赖于屏幕分辨率但不符合物理。 结果呢
产生的结果依赖于采样因为我们还是在求解积分采样越多质量越好。需要采样的位置必须随机指定半径。噪点会产生噪声那么我们还需要后期的降噪过滤。
但总之增加了图像的细节效果还不错。左边AO右边 no AO。 感谢闫老师的课程。
那么我们在此基础上来看一看DO吧
SSDO理论分析
如何重建世界坐标.
一切来源于渲染方程讨论过AO之后我们知道了AO假设未被遮挡的方向有间接光照那么DO则进行大胆假设
未被遮挡的地方有直接光照遮挡住的地方存在间接光照 很重要的一副图其中CCC点是直接光照ABDABDABD点都表示会有间接光照BDBDBD点会有间接光照。
直接光照
是不是很眼熟对这时对AO方程的离散化形式并用作直接光照的计算让我们分析一下
PPP就是我们需要计算的着色点Lin(ωi)L_{in} (\omega _{i})Lin(ωi)是从ωi\omega_{i}ωi方向来的直接光照由于是屏幕空间所以这里将fr(ωi,ωo,f_{r}(\omega_{i},\omega_{o},fr(ωi,ωo,p)))假设为diffusediffusediffuse的BRDFBRDFBRDF。Δω\Delta\omegaΔω 则是均匀采样的立体角 Δω2π/N\Delta\omega 2\pi/NΔω2π/N NNN是采样数量 。
因为是离散化形式那么我们所需的积分变量就不再是单位立体角而是一个具体的立体角这里假设我们是均匀采样并且我们不能在离散的计算机中表达出连续量。
间接光照
我们要知道一点的光照强度来源于直接光照和间接光照。 那么对于被遮挡住的间接光照我们怎么计算呢 对一切起源于渲染方程对于间接光我们则做了一个更大的假设假设每一点都是一个VPL(虚拟点光源)。 让我们来分析一下不同 LpixelL_{pixel}Lpixel来源于采样点所映射到的屏幕点的Radiance简单来说就是屏幕像素颜色。 ρ\rhoρ与直接光相同是albeoalbeoalbeo。 AsA_{s}As 是一块 sender patch即发送光线的虚拟点所占的面积的投影投影是因为接收点所接收的能量是从来自发射方的投影即这是对VPL的修正因为假设是均匀采样故这时一个常数即πr2/N\pi r^{2}/Nπr2/N。可以从下图理解一下即从发射光线的角度去思考。 di2d_{i}^{2}di2 的理解从下图理解即点光源沿着某个方向传播有着r2r^{2}r2的衰减。 cosθsicos\theta_{si}cosθsi与cosθricos\theta_{ri}cosθri 则是发送方的法线和接收方的法线与采样方向的coscoscos值即光线不可能从采样点的背面发送到着色点也可能与 3. 中的意图一样即着色点会接收垂直于它的所有光线的能量。
至此SSDO的理论全部结束通过LdirL_{dir}Ldir可以算出遮蔽光LindirL_{indir}Lindir则可以增加反射光。
注意点
对于这种方法自然是采样越多效果越好噪点越少cost越多。对于深度的比较自然需要bias的修正。对于提升质量或者修正错误有着Depth Peeling方法。即记录多层深度法。Additional Cameras增加多个摄像机来渲染深度图分别进行比较。
结语
SSAO与SSDO都是很不错的方法对于提升画面质量很值得我们学习 对那充满不安的日子说再见吧对那充满不安的日子说再见吧对那充满不安的日子说再见吧 向着未知的梦境之地前行向着未知的梦境之地前行向着未知的梦境之地前行 我想总有一日我会变得更加坚强我想总有一日我会变得更加坚强我想总有一日我会变得更加坚强