Unity - керівництво подільні текстури (sparse textures)

Можливості графічного обладнання та емуляція

Ділені текстури (Sparse Textures)

Sparse textures (also known as "tiled textures" or "mega-textures") are textures that are too large to fit in graphic memory in their entirety. To handle them, Unity breaks the main texture down into smaller rectangular sections known as "tiles". Individual tiles can then be loaded as necessary. For example, if the camera can only see a small area of ​​a sparse texture, then only the tiles that are currently visible need to be in memory.

Іншими словами, ділені текстури поводяться так само, як і будь-яка інша текстура в шейдера: у них є властивості множинного відображення (MIP mapping), на них може застосовуватися будь-який спосіб фільтрації і т.д. Якщо ви спробуєте прочитати дані плитки, не завантаженою в пам'ять, ви можете отримати невизначений результат (на багатьох графічних процесорах результатом буде чорний колір, проте це не гарантовано).

Варто зазначити, що не всяке апаратне забезпечення і не всі платформи підтримують подільні текстури. Наприклад, на системах під DirectX для їх роботи потрібно DX11.2 (Windows 8.1) і досить новий графічний процесор, а під OpenGL для них потрібна підтримка розширення ARB_sparse_texture. Також для роботи з ділимими текстурами необхідна ліцензія Unity Pro.

See the SparseTexture script reference page for further details about handling sparse textures from scripts.

A minimal example project for sparse textures is available here.

Unity - керівництво подільні текстури (sparse textures)
Sparse texture as shown in the example project

Приклад проекту: SparseTextureExample.zip. У цьому прикладі для спрощення генерується простий зразок процедурної текстури. Зверніть увагу, що для відтворення вам знадобиться новий графічний процесор і система DirectX 11.2 (Windows 8.1) або процесор, який використовує OpenGL з підтримкою ARB_sparse_texture.

Graphics Command Buffers

Можливості графічного обладнання та емуляція