在结合低分辨率目标和高分辨率目标时,使用双边升级是众所周知的“标准”。

我个人已经注意到,例如在混合高分辨率和低分辨率的情况下,使用基本算法(权重基于高和低分辨率深度值之间的深度差)并不完美。在低分辨率效果内的高分辨率对象。


锯齿状边缘仍然很明显
当低分辨率对象/效果占据较小的边缘时,边缘周围出现“晕轮”目标区域。我的意思是指在silouhette周围的洞。

我很清楚,没有办法完全消除这些问题,但是有没有办法改善双边抽样调查,以部分改善上述两点之一?

还有一个问题,是否有一种等效的算法或变体价格便宜?

评论

我还没有听说过双边采样。您是否有任何链接?与双三次采样或双线性采样不同吗?

#1 楼

最近深度过滤是双向过滤的替代方法,后者是专为对低分辨率透明渲染进行上采样而开发的。它比双边采样要简单一些,因为它只需要低分辨率纹理中的一个采样即可。但是它仍然会出现问题,尤其是在您的低分辨率深度缓冲区中无法很好表现的高频几何上。

在SIGGRAPH 2013上,Bungie提出了一种新方法来处理超低分辨率分辨率粒子使用他们所谓的“方差深度图”。您可以在此处找到PDF和PPTX格式的幻灯片。

一种尚未使用的有趣方法(至少据我所知)是利用MSAA。这个想法是,您将全分辨率深度缓冲区取为别名,然后将其别名(或转换,如果API不允许这样做,则将其作为宽度和高度的一半的4xMSAA深度缓冲区)。然后,可以使用“ 4xMSAA”深度缓冲区进行深度测试,使用4xMSAA将低分辨率透明对象渲染为半分辨率渲染目标。然后要进行放大,对于每个高分辨率像素,您将从低分辨率MSAA渲染目标访问相应的子样本,并将其混合在顶部。这样可以进行全分辨率的深度测试,但可以进行半分辨率的阴影处理(由于压缩,帧缓冲区带宽介于全分辨率和半分辨率之间)。这里的要点是,您需要可编程的MSAA采样点来执行此操作,因为您将要为低分辨率渲染使用有序网格采样模式,而不是典型的旋转网格模式。较新的GPU(来自Nvidia的Maxwell,来自AMD的GCN)支持通过D3D11和OpenGL中的供应商扩展来做到这一点,并且可以在控制台上本地完成。

评论


$ \ begingroup $
嗨,mjp,你好吗。我记得你来自gamedev.net。我问了一个有关游戏中曲线实际用法的问题,我记得您提供了一些不错的信息。你好!
$ \ endgroup $
–艾伦·沃尔夫(Alan Wolfe)
15年8月27日在2:17