reckfellENGINE

ImageTextureLayered

Общая реализация GPU-текстур из одинаковых изображений-слоёв.

На этой странице
class ImageTextureLayeredReckfellSharpНаследует TextureLayered

ImageTextureLayered предоставляет создание, обновление и хранение данных для Texture2DArray, Cubemap и CubemapArray. Создайте нужный конкретный тип, подготовьте одинаковые Image и вызовите CreateFromImages. Тип ресурса определяет, являются изображения слоями массива или гранями кубов.

В отличие от ImageTexture3D, здесь mipmaps находятся внутри каждого Image. UpdateLayer обновляет одну существующую позицию, а повторный CreateFromImages может заменить весь состав. Ни изменение исходного CPU-изображения, ни изменение GetLayerData сами по себе не загружают пиксели.

Проверены RGBA8-ресурсы, per-layer mipmaps, независимые чтения, обновление, смена состава и бинарная загрузка. Произвольные форматы, повреждённые данные и пределы памяти не проверены.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства1

_ImagesСвойство
# _Images
C#
public Reckfell.Collections.Array<Image> _Images { get; set; }

Внутреннее сохраняемое свойство. Getter читает по одному Image на слой, включая его mipmaps; setter использует CreateFromImages. Для обычного кода предпочтительны CreateFromImages, GetLayerData и UpdateLayer. Изменение пикселей полученного Image не обновляет GPU автоматически. Прочитанный массив нельзя считать списком отдельных mip-уровней.

Методы2

CreateFromImagesError
# CreateFromImages
C#
public Error CreateFromImages(Reckfell.Collections.Array<Image> images);

Инициализирует или заменяет все слои конкретного Texture2DArray, Cubemap или CubemapArray. Нужен непустой массив непустых Image одинаковых размера, формата и наличия mipmaps. Для Cubemap нужны ровно 6 квадратных изображений, для CubemapArray — положительное число квадратных изображений, кратное 6. У mip-текстур каждый Image уже содержит свою цепочку: отдельные mip-изображения не добавляются в массив как новые слои. Проверяйте Error и журнал. При корректной замене RID сохраняется; метод не обещает автоматическое исправление входных данных.

Параметры
ИмяТипПо умолчанию
imagesReckfell.Collections.Array<Image>—
images

Непустые одинаковые по размеру/формату Image с согласованными mipmaps; 6 граней на каждый cubemap.

Возвращает Error

Error создания; проверяйте также журнал диагностики.

UpdateLayervoid
# UpdateLayer
C#
public void UpdateLayer(Image image, int layer);

Загружает полное новое Image только в один уже существующий слой. Размер, формат и конфигурация mipmaps должны совпадать с текстурой; индекс — от 0 до GetLayers() − 1. Остальные слои не меняются. Это не resize и не добавление слоя. Возвращаемого Error нет; при неверном вводе метод сообщает ошибку. Для CubemapArray используйте индекс 6 × куб + грань.

Параметры
ИмяТипПо умолчанию
imageImage—
layerint—
image

Непустое Image с размером, форматом и mipmaps существующих слоёв.

layer

Индекс слоя от 0 до GetLayers() − 1; для cubemap-array — 6 × номер куба + грань.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.