Version: Unity 6.0 (6000.0)
语言 : 中文
分析 Mipmap 串流
Streaming Virtual Texturing

稀疏纹理

稀疏纹理 (Sparse Textures)(也叫“图块纹理”或“超级纹理”)是因体积过大而无法完全存入显存的纹理。为处理稀疏纹理,Unity 会将主纹理分解为更小的矩形部分,即“图块”(Tile)。如此一来就能按需加载各个图块。例如,如果摄像机只能看到稀疏纹理的一小块区域,那么只有当前可见的图块需要被加载到内存中。

除了图块化外,稀疏纹理的行为与目前所用的其他纹理相似。稀疏纹理无需特殊修改即可供着色器使用,可以具有 Mipmap、可以使用所有纹理过滤模式等。如果由于某种原因无法加载某块图块,则结果是不明的:有些 GPU 会在丢失图块的位置显示黑色,但此行为并未被标准。

并非所有硬件和平台都支持稀疏纹理。例如,在 DirectX 系统上,稀疏纹理要求 DX11.2 (Windows 8.1) 以及相当新的 GPU。在 OpenGL 上,稀疏纹理要求 ARB_sparse_texture 的扩展支持。稀疏纹理仅支持非压缩的纹理格式。

如需详细了解如何通过脚本处理稀疏纹理,请参阅 SparseTexture 脚本参考页面。

示例项目

稀疏纹理的最小示例项目见此处

示例项目中所示的稀疏纹理
示例项目中所示的稀疏纹理

该示例显示了一个简单的程序化纹理图案,允许您移动摄像机以查看它的不同部分。请注意,该项目要求较新的 GPU 和 DirectX 11.2 (Windows 8.1) 系统,或者使用支持 ARB_sparse_texture 的 OpenGL。

分析 Mipmap 串流
Streaming Virtual Texturing