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

Streaming Virtual Texturing 要求和兼容性

This feature is experimental and not ready for production use. The feature and documentation might be changed or removed in the future.

渲染管线支持

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

系统要求

GPU 要求

  • GPU 计算
  • Texture2DArrays
  • AsyncReadBack

支持的平台

  • Windows
  • Mac
  • Linux
  • Some additional console platforms support this functionality but are under NDA. Consult the documentation for your target platform to determine if it supports Streaming Virtual Texturing.

Some additional console platforms support this functionality. Consult the documentation for your target platform to determine if it supports Streaming Virtual Texturing.

支持的图形 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 的工作原理