Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

可变速率着色

什么是可变速率着色?

在现代 3D 渲染引擎中,着色器比以前复杂得多。基于物理的渲染、实时全局照明和屏幕空间效果的出现,增加了渲染每帧时必须执行的 每像素 着色的数量。此外,屏幕分辨率也大幅提升,1440p 和 4K 已成为常见的目标分辨率。因此,场景渲染中的总着色成本通常代表着渲染每帧所花费的大量时间。

可变速率着色 (VRS,variable rate shading) 是一种通过降低 每像素 着色(也称为 片段 着色)的分辨率来降低着色成本的方法,同时保持渲染几何体的原始分辨率。这意味着几何边缘仍然像没有 VRS 时一样锋利。 VRS 可以与任何 3D 抗锯齿 技术(MSAA、FXAA、TAA、SSAA)结合使用。

VRS 允许以本地方式指定着色质量,这使得视口的某些部分可以比其他部分接收更详细的着色。这在虚拟现实 (VR) 中特别有用,可实现 注视点渲染 (foveated rendering),其中视口的中心比其边缘更详细。

这是使用本页底部链接的密度图,先禁用,然后启用速率着色渲染的场景:

在纹理场景中禁用可变速率着色

在纹理场景中禁用可变速率着色

在纹理场景中启用可变速率着色(质量较低但性能较高)