/ Nweon / 0浏览

Oculus推出基于蒙版的注视点渲染技术MBFR,无需额外硬件支持



映维网
2018年06月23日

)对于基于蒙版的注视点渲染(Mask-based foveated rendering,MBFR),这种渲染技术根据一种棋盘模式来删除一定的像素,从而降低眼睛缓冲区的外围区域着色率。这可以帮助你有效地减少世界渲染的像素着色成本,在降低50%的像素时提供优秀的视觉质量。另外,这项技术兼容所有D3D11级别硬件,独立于IHV扩展。

Oculus日前分享了一篇关于基于蒙版的注视点渲染的博文,介绍了一个演示了MBFR的蒙版场景,并且讨论了MBFR于何时最为有用。以下是映维网的具体整理:


1. 蒙版场景

这是一个演示了像素减少的蒙版场景。蒙版图像中有四个圆。中心圆保留所有的像素。其他三个圆分别丢弃25%,50%和75%的像素。

下面是一个重新构建的图像:

下面我们用作参考标准的原始全分辨率场景:

下面我们继续宁并排比较(已经放大)。上图是蒙版图像,中间是重建图像,下面则是参考标准图像:

下面是另一个比较:


2. 集成MBFR

MBFR目前已经托管至

Oculus GitHub UE4 Repository

。它支持Unreal Engine 4.19和4.20预览版。

要在你的项目中激活MBFR,请按照下列步骤操作:


3. 控制台命令

在测试MBFR和调整质量级别时,以下的控制台命令可能会有所帮助:


4. 实现


4.1 像素丢弃

要丢弃的像素通过蒙版缓冲区中的掩码位进行剔除。以下是每个密度区域的可见模式:


5. 重构

当读取场景纹理时,丢弃的像素在PostProcessing阶段重建。


5.1 中密度和高密度区域

我们用4个相邻像素来重建中密度和高密度区域中的每个丢弃像素,其中像素丢弃率小于或等于50%。

缺乏经验的公式是将丢弃的像素A设置为B,C,D和E的线性插值。

A = (C + B) * 0.667 * 0.5 + (D + E) * 0.333 * 0.5

但这样做的效果不好,并且会在高对比度/高频率区域造成大量混叠。我们在下面的屏幕截图中可以很容易地观察到伪影,并在VR中造成严重的闪烁。

通过应用根据邻域亮度计算的方向权重可以大大提高视觉质量。这增强了边缘,并且减少了混叠。

最后,我们在高/中密度区域实现了良好的整体重建质量。下面是高密度区域(丢弃25%的像素)的并排比较,中间是重建结果图像,右边是参考图像:

下面是中密度区域的两个比较(丢弃50%的像素),中间是重建结果图像,右边是参考标准图像:


5.2 低密度区域(像素丢弃率75%)

在最边缘部分,低密度区域的已知像素较少。我们用两个相邻像素的线性插值重构每个丢弃的像素。

由于我们只有四分之一的有效像素,因此重建的保真度水平有限,质量损失和畸变明显。

下面是与预畸变图像的并排比较(左:蒙版,中间:重构,右:原始):

因为低密度区域位于有效像素密度较低的外围部分。这可以减少质量损失,但不会消除所有畸变伪影。下面大致是后畸变图像中的相同的部分,这一部分在畸变后变得更小了:


5.3 粗略质量重建

高保真蒙版重建需要大量的GPU性能,并不是每个后期处理阶段都需要这种精确度。因此,我们同时提供了一种粗略质量的蒙版重建例程。常规重建中的成本是2个或4个纹理拾取,而这种重建方案可以降低至单个纹理拾取。粗略质量重建目前用于Bloom,Depth of Field,Down-sampling,Velocity flattening和Screen-space reflection。


6. 性能

通过在世界渲染过程中丢弃一部分像素,MBFR可以降低GPU像素着色成本。但为了重建丢弃像素,这同时会在后期处理过程中引入额外的成本。

我们在《Robo Recall》的4.65ms场景中进行测试,它可以把整体GPU成本降低到4.25ms(-9%)。具体而言,它将世界渲染(BasePass)的成本从2.51ms降低到2.19ms(-13%);后处理成本从0.47ms增加到0.65ms(+0.18ms)。

由于游戏中的后处理成本相对固定,而且世界渲染是动态进行,对于渲染世界对象较多的场景,我们可以预期GPU性能可以节省10%以上。

当然,整体GPU性能在很大程度上也取决于密度圆的FOV。从MBFR再进一步优化GPU成本的有效方法是,根据每个映射上渲染的内容对其进行配置。我们可以在包含高频对象/纹理的映射中应用更大密度的圆,以此来保持视觉质量(例如在《Robo Recall》中测试的城市映射),并且减小其他映射中密度圆的大小,从而获得最大的性能效益。


6.1 提示


7. 总结

MBFR不是免费的午餐。它可以减少世界渲染的像素着色成本,但在像素重构时增加了额外的后期处理成本。大多数VR项目都采用使用繁重的后期处理。但对于使用大量后期处理,但世界渲染量小的项目而言,MBFR可能无法带来任何性能方面的效益。

根据内容的风格,MBFR的感知视觉质量可能会有很大不同。在呈现低对比度,低频率内容时,感知质量可能相当不错;但如果内容存在大量高频细节,感知质量则不会太理想。对于对于平衡性能和感知视觉质量而言,根据正在渲染的内容来调整所述密度圆的半径非常有必要。

使用MBFR的预期效果:

需要注意的事项:

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注