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

Streaming Virtual Texturing 要求和兼容性

Unity version: 2020.1.0b9 or newer


In Unity 2020.1, with High Definition Render Pipeline versions 9.0.0-preview and newer, you can use Streaming Virtual Texturing (SVT) in Shaders you create with Shader Graph.


GPU 要求

  • GPU 计算
  • Texture2DArrays
  • AsyncReadBack


  • Windows
  • Mac
  • Playstation 4
  • Xbox One

支持的图形 API

  • DirectX 11
  • DirectX 12
  • Metal
  • Vulkan


  • SVT is built on top of Unity Texture2D. SVT textures go through the same importer, which limits the maximum texture size. Currently, SVT doesn’t support textures larger than 16K x 16K. It also does not support UDIM Textures, or merging tiled image files into one large texture.

  • SVT doesn’t support all texture graphics formats. The supported formats are:

    • 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 supports trilinear filtering only in the Player, and not in the Editor.

  • SVT supports streaming from disk only in the Player, and not in the Editor.

  • The maximum anisotropic filtering level is 8, because each tile has an 8-pixel border.

  • You cannot set textures that are part of a stack dynamically in the Player. In the Player, you cannot call Material.SetTexture or Renderer.SetPropertyBlock to modify the Texture Stack.

Unity 功能兼容性

  • SVT 不支持:

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

Streaming Virtual Texturing
Streaming Virtual Texturing 的工作原理