Sparse textures (también conocidas como “texturas en teja” o “mega-texturas”) son texturas que son muy grandes para que encajen en memoria gráfica completamente. Para manejarlas, Unity rompe la textura principal en secciones rectangulares más pequeñas conocidas como “tejas”. Las tejas individuales pueden luego cargarse como sea necesario. Por ejemplo, si la cámara puede solamente ver una pequeña área de una sparse textura, entonces solamente las tejas que están actualmente visibles necesitan estar en memoria.
Aparte del tiling (embaldosado), una sparse texture se comporta como cualquier otra textura en uso. Los Shaders pueden usarlos sin modificaciones especiales y pueden tener mipmaps, usar todos los modos de filtrado de texturas, etc. Si no se puede cargar un tile (embaldosado) en particular por alguna razón, el resultado es indefinido; Algunas GPUs muestran un área negra donde el tile que falta debe ser pero este comportamiento no está estandarizado.
Not all hardware and platforms support sparse textures. For example, on DirectX systems they require DX11.2 (Windows 8.1) and a fairly recent GPU. On OpenGL they require ARB_sparse_texture extension support. Sparse textures only support non-compressed texture formats.
Mire la página script de referencia SparseTexture para más detalles acerca de manejar sparse textures de scripts.
Un proyecto ejemplo mínimo para sparse textures está disponible aquí.
The example shows a simple procedural texture pattern and lets you move the camera to view different parts of it. Note that the project requires a recent GPU and a DirectX 11.2 (Windows 8.1) system, or using OpenGL with ARB_sparse_texture support.