ImageTextureLayered
Наследует: TextureLayered < Texture < Resource < RefCounted < Object
Наследуется от: Cubemap, CubemapArray, Texture2DArray
Базовый класс для типов текстур, которые содержат данные нескольких ImageTexture. Каждое изображение имеет одинаковый размер и формат.
Описание
Базовый класс для Texture2DArray, Cubemap и CubemapArray. Не может использоваться напрямую, но содержит все функции, необходимые для доступа к производным типам ресурсов. См. также Texture3D.
Методы
create_from_images(images: Array[Image]) |
|
void |
update_layer(image: Image, layer: int) |
Описания метода
Error create_from_images(images: Array[Image]) 🔗
Создает ImageTextureLayered из массива Image. См. Image.create() для ожидаемого формата данных. Первое изображение определяет ширину, высоту, формат изображения и настройку mipmapping. Другие изображения должны иметь ту же ширину, высоту, формат изображения и настройку mipmapping.
Каждое Image представляет один layer.
# Заполните массив изображений разными цветами.
var images = []
const LAYERS = 6
for i in LAYERS:
var image = Image.create_empty(128, 128, false, Image.FORMAT_RGB8)
if i % 3 == 0:
image.fill(Color.RED)
elif i % 3 == 1:
image.fill(Color.GREEN)
else:
image.fill(Color.BLUE)
images.push_back(image)
# Создайте и сохраните массив 2D-текстур. Массив изображений должен содержать не менее 1 изображения.
var texture_2d_array = Texture2DArray.new()
texture_2d_array.create_from_images(images)
ResourceSaver.save(texture_2d_array, "res://texture_2d_array.res", ResourceSaver.FLAG_COMPRESS)
# Создайте и сохраните кубическую карту. Массив изображений должен содержать ровно 6 изображений.
# Изображения кубической карты указаны в следующем порядке: X+, X-, Y+, Y-, Z+, Z-
# (в системе координат Годо Y+ — «вверх», а Z- — «вперед»).
var cubemap = Cubemap.new()
cubemap.create_from_images(images)
ResourceSaver.save(cubemap, "res://cubemap.res", ResourceSaver.FLAG_COMPRESS)
# Создайте и сохраните массив кубических карт. Массив изображений должен иметь число изображений, кратное 6.
# Изображения каждой кубической карты указываются в следующем порядке: X+, X-, Y+, Y-, Z+, Z-
# (в системе координат Годо Y+ — «вверх», а Z- — «вперед»).
var cubemap_array = CubemapArray.new()
cubemap_array.create_from_images(images)
ResourceSaver.save(cubemap_array, "res://cubemap_array.res", ResourceSaver.FLAG_COMPRESS)
void update_layer(image: Image, layer: int) 🔗
Заменяет существующие данные Image в указанном layer этим новым изображением.
Указанное Image должно иметь ту же ширину, высоту, формат изображения и флаг MIP-отображения, что и остальные указанные изображения.
Если формат изображения не поддерживается, он будет распакован и преобразован в аналогичный и поддерживаемый Format.
Обновление происходит немедленно: оно синхронизируется с рисованием.