GPU instancing
Emulación y capacidades gráficas del hardware

Sparse Textures (Texturas Dispersas)

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.

Tenga en cuenta que no todo el hardware y plataformas soporta sparse textures. Por ejemplo, en sistemas DirectX estas requieren DX11.2(Windows 8.1) y un GPU relativamente reciente. En OpenGL estas requieren un soporte de extensión ARB_sparse_texture.

Mire la página script de referencia SparseTexture para más detalles acerca de manejar sparse textures de scripts.

Proyecto Ejemplo

Un proyecto ejemplo mínimo para sparse textures está disponible aquí.

Las Sparse texture mostradas como en el proyecto ejemplo
Las Sparse texture mostradas como en el proyecto ejemplo

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.

GPU instancing
Emulación y capacidades gráficas del hardware