纹理过滤

Tutorial

intermediate

+0XP

15 mins

(14)

Unity Technologies

纹理过滤

在本教程中,我们将比较不同的纹理过滤设置以及每种设置适合的用例。

Languages available:

1. 纹理过滤类型

纹理过滤通常可提高场景中的纹理质量。如果不进行纹理过滤,锯齿等瑕疵会导致纹理看起来呈块状。纹理过滤通常用于锐化纹理和消除锯齿。

但是,纹理过滤也会降低性能,因为要获得更好的纹理质量通常需要进行更多的处理。纹理过滤有时可占到 GPU 能耗的一半。选择更简单、更合适的纹理过滤器有助于降低应用程序的能耗。

  • 最近/点过滤:(Nearest/Point filtering)这是最简单、计算量最小的纹理过滤形式,但在近距离观察时,最近/点过滤会使纹理看起来呈块状。
  • 双线性过滤:双线性过滤对相邻纹素进行采样和均值化处理,以此对纹理中的像素进行着色。与最近过滤不同,双线性过滤可让像素平滑渐变,从而减少块状像素。双线性过滤的副作用是,当近距离观察时,纹理会变模糊。
  • 三线性过滤:三线性过滤类似于双线性过滤,但在 Mipmap 级别之间增加了混合。三线性过滤通过平滑过渡来消除 Mipmap 之间的明显变化。

注意:双线性过滤和三线性过滤需要对更多像素进行采样,因此需要进行更多的计算。)

  • 各向异性过滤:各向异性过滤可改善纹理在倾斜角度下的视觉效果,因此非常适合用于地表纹理。

2. 纹理过滤最佳实践

我们建议你尝试以下纹理过滤技巧:

  • 使用双线性过滤平衡性能和视觉质量。
  • 有选择地使用三线性过滤,因为与双线性过滤相比,它需要更多的内存带宽。
  • 使用双线性和 2x 各向异性过滤,而不是三线性和 1x 各向异性过滤,因为这样做不仅视觉效果更好,而且性能也更高。
  • 保持较低的各向异性级别。仅对关键游戏资源使用高于 2 的级别。

3. 总结

牢记纹理过滤的最佳实践将确保你以有效的方式使用计算资源,而又不降低纹理的视觉质量。在下一个教程中,我们将讨论为纹理使用 Mipmap 的性能优势。

Complete this Tutorial