level 7
GTA0
这是动视中央技术团队开发出的A0技术。GTA0全称Ground-Truth Based Ambient Occulusion,基本原理基于HBA0,是一个更加物理准确的版本。
-对于可见度的计算,增加了一个余弦权重,预先积分算出可直接计算的解析式。
-depth buffer的法线不一定与sampling slice平行,所以在积分时要将法线向量投影到sampling slice平面上
-考虑到光线多次反弹的影响。在较亮的表面A0会变得更淡。Crytek在Ryse中也曾考虑到这个问题,不过Crytek的方法很简单,直接使用albedo的颜色作为一个权值去提亮A0。动视的方法是,首先使用光线追踪离线计算出不同类型测试场景中的结果,然后使用一个以A0值和漫反射颜色值作为输入的函数去拟合计算好的结果。此外,A0值还会乘上贴图颜色,使得A0会有一些伪GI效果
-使用bent normal
-利用Temporal AA来提供更多的采样
-屏幕空间无法辨别两个前后遮挡的物体是否是相连的,动视用了一个heuristic方法来解决这个问题。
GTS0
GTS0=Ground-Truth Based Specular Occulusion,这是GTA0针对IBL高光遮挡的变种。简单总结:
-数学上,将IBL split sum approximation中的IBL部分进一步分成两个积分相乘,并作归一化。
-具体的可见性计算方法和神海4类似。神海4的方法是,将A0值作为visibility cone,用phong lobe近似specular cone,计算两个圆锥的相交面积,预烘培进一张LUT中。区别在于,神海4的A0是预烘培的,而BO3用SSA0作为visibility cone。此外,在预烘培LUT的过程中BO3直接使用精确的specular lobe(GGX)。
2016年08月16日 14点08分