Version: 2020.3
Streaming Virtual Texturing
Streaming Virtual Texturing 的工作原理

Streaming Virtual Texturing 要求和兼容性

渲染管线支持

高清渲染管线 (HDRP) 中,可以在您使用 Shader Graph 创建的着色器中使用 Streaming Virtual Texturing (SVT)。

系统要求

GPU 要求

  • GPU 计算
  • Texture2DArrays
  • AsyncReadBack

支持的平台

  • Windows
  • Mac
  • Linux
  • Playstation 4
  • Xbox One

支持的图形 API

  • DirectX 11
  • DirectX 12
  • Metal
  • Vulkan

纹理兼容性

  • SVT 建立在 Texture2D 上。SVT 纹理通过相同的导入器,这限制了最大纹理大小。SVT 不支持大于 16K x 16K 的纹理。它也不支持 UDIM 纹理或将平铺图像文件合并为一个大纹理。

  • SVT 不支持所有纹理图形格式。支持的格式如下:

    • GraphicsFormat::kFormatRGBA_DXT1_SRGB
    • GraphicsFormat::kFormatRGBA_DXT1_UNorm
    • GraphicsFormat::kFormatRGBA_DXT3_SRGB
    • GraphicsFormat::kFormatRGBA_DXT3_UNorm
    • GraphicsFormat::kFormatR_BC4_UNorm
    • GraphicsFormat::kFormatRG_BC5_UNorm
    • GraphicsFormat::kFormatRGB_BC6H_SFloat
    • GraphicsFormat::kFormatRGB_BC6H_UFloat
    • GraphicsFormat::kFormatRGBA_BC7_SRGB
    • GraphicsFormat::kFormatRGBA_BC7_UNorm
    • GraphicsFormat::kFormatR8_SRGB
    • GraphicsFormat::kFormatR8_UNorm
    • GraphicsFormat::kFormatR8G8_SRGB
    • GraphicsFormat::kFormatR8G8_UNorm
    • GraphicsFormat::kFormatR8G8B8_SRGB
    • GraphicsFormat::kFormatR8G8B8_UNorm
    • GraphicsFormat::kFormatR8G8B8A8_SRGB
    • GraphicsFormat::kFormatR8G8B8A8_UNorm
    • GraphicsFormat::kFormatR16_SFloat
    • GraphicsFormat::kFormatR16_UNorm
    • GraphicsFormat::kFormatR16G16_SFloat
    • GraphicsFormat::kFormatR16G16_UNorm
    • GraphicsFormat::kFormatR16G16B16A16_SFloat
    • GraphicsFormat::kFormatR16G16B16A16_UNorm
    • GraphicsFormat::kFormatR32_SFloat
    • GraphicsFormat::kFormatR32G32_SFloat
    • GraphicsFormat::kFormatR32G32B32A32_SFloat
    • GraphicsFormat::kFormatA2B10G10R10_UNormPack32
  • SVT 不支持:

    • 镜像包裹模式。
    • 每轴钳制(例如,水平重复同时垂直钳制)。
    • 分辨率不是 2 的幂的纹理。
  • SVT 中的纹理没有小于平铺大小(128 x 128 像素)的 Mipmap。SVT 将采样钳制到此 mip,因此您可以在远处看到某些内容的锯齿。

  • SVT 仅在播放器中支持三线性过滤,在编辑器中不支持。

  • SVT 仅支持在播放器中从磁盘的串流,而在编辑器中不支持。

  • 最大各向异性过滤级别为 8。这是因为每个瓦片都有一个 8 像素的边框。

  • 不能在播放器中动态设置属于堆栈一部分的纹理。在播放器中,不能调用 Material.SetTextureRenderer.SetPropertyBlock 来修改纹理堆栈。

Unity 功能兼容性

  • SVT 不支持:

    • AssetBundles,包括 Addressables 和 Live Link。
    • 可编程构建管线 (SBP) 和子场景。
    • Crunch 压缩。
  • 堆叠层的纵横比必须匹配。

Streaming Virtual Texturing
Streaming Virtual Texturing 的工作原理