CubemapArray
Несколько cubemap в одном ресурсе, по шесть граней на карту.
CubemapArray создаётся через CreateFromImages из положительного числа квадратных Image, кратного 6. Все грани всех карт должны иметь одинаковые размер, формат и конфигурацию mipmaps. Сначала идут шесть граней первого куба, затем второго и так далее.
GetLayers возвращает количество граней: 12 означает две карты. Для GetLayerData и UpdateLayer индекс равен 6 × номер куба + номер грани. Например, 7 — вторая грань второго куба при нумерации от 0. Для поддерживаемого Vulkan-пути порядок граней в каждой группе тот же, что у Cubemap: +X, −X, +Y, −Y, +Z, −Z.
Проверены 12 граней, изменение индекса 7 без изменения индекса 1, placeholder и независимая загрузка. Семплирование samplerCubeArray в шейдере, импорт всех вариантов листов и поддержка других backend этим прогоном не проверены. Один ресурс не является обещанием конкретного выигрыша производительности.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
CubemapArrayКонструктор
public CubemapArray();Создаёт пустой CubemapArray без загруженных изображений. Инициализируйте CreateFromImages; валидный RID-заглушка не доказывает наличие данных.
Методы1
CreatePlaceholderResource
public Resource CreatePlaceholder();Создаёт отдельный PlaceholderCubemapArray с текущими размером и числом слоёв/граней. Исходные пиксели не копируются.
ResourceResource с конкретным типом PlaceholderCubemapArray.