reckfellENGINE

ImageTexture

GPU-текстура из Image для создания и обновления пикселей во время работы.

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

Image хранит данные изображения на CPU; ImageTexture позволяет использовать их как Texture2D. Создайте непустой Image, заполните пиксели и передайте в CreateFromImage. Дальнейшее изменение Image или копии из GetImage не обновляет текстуру автоматически.

Для повторной загрузки при прежних размерах, формате и mipmaps используйте Update. Для изменения этих параметров — SetImage. SetSizeOverride меняет логический размер, не количество пикселей; ноль сохраняет текущую ось и не снимает override. После override учитывайте размерный контракт Update.

Обычные импортированные ресурсы проекта загружайте через ResourceLoader.Load<Texture2D>: их конкретным типом может быть CompressedTexture2D, а не ImageTexture. Чтение исходного PNG как внешнего файла — другой путь; наличие файла в редакторе не гарантирует его упаковку в экспорт. Пределы размера зависят от GPU, формата и backend; не считайте одно фиксированное число гарантией доступной памяти.

Ресурсные операции, копии пикселей, обновление, замена формата и независимая загрузка проверены в Windows Forward+/Vulkan. Отрисовка интерфейса, экспортная упаковка, все форматы и корректность альфа-попаданий после замены изображения этим прогоном не подтверждены.

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

Конструкторы1

ImageTextureКонструктор
# ImageTexture
C#
public ImageTexture();

Создаёт неинициализированную текстуру: размеры равны 0, GetImage возвращает null. До Update задайте непустое изображение через SetImage либо используйте CreateFromImage. Наличие RID само по себе не подтверждает загрузку пикселей.

Свойства1

ImageСвойство
# Image
C#
public Image Image { get; set; }

Внутреннее сохраняемое свойство изображения. Getter читает отдельное изображение через GetImage; изменение его пикселей не меняет текстуру. Setter выполняет SetImage с перераспределением данных, а не Update. Для частых обновлений используйте явный Update с подходящими размером, форматом и конфигурацией mipmaps.

Методы4

CreateFromImageImageTexture
# CreateFromImage
C#
public static ImageTexture CreateFromImage(Image image);

Создаёт новую GPU-текстуру из Image. Копирует текущие пиксели, формат и имеющуюся mipmap-цепочку; дальнейшая правка отдельного Image не является автоматическим обновлением этой текстуры.

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

Непустой Image. Если нужны mipmaps уменьшенного изображения, подготовьте их до создания текстуры и проверьте результат GenerateMipmaps.

Возвращает ImageTexture

Новая ImageTexture либо null для недопустимого пустого/null изображения. Для отображения назначьте ресурс Texture у Sprite2D или другому подходящему получателю.

SetImagevoid
# SetImage
C#
public void SetImage(Image image);

Инициализирует или заменяет данные текстуры непустым Image. Разрешает другой размер, формат и конфигурацию mipmaps, создавая новое GPU-хранилище. При замене существующей текстуры её RID сохраняется через texture_replace. Пиксели копируются: последующее изменение исходного Image требует отдельной загрузки. Метод void; он не возвращает код ошибки. Для прежних параметров используйте Update.

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

Непустой Image с требуемыми пикселями и заранее подготовленными mipmaps, если они нужны.

SetSizeOverridevoid
# SetSizeOverride
C#
public void SetSizeOverride(Vector2I size);

Меняет логические размеры текстуры без изменения физических пикселей GetImage. Только ненулевые компоненты заменяют текущие значения: Vector2I.Zero ничего не восстанавливает, в отличие от DpiTexture. Используйте неотрицательные значения после инициализации. Override меняет размеры, с которыми Update сравнивает входной Image: перед обновлением восстановите исходные размеры явно или вызовите SetImage. Не используйте override для увеличения разрешения.

Параметры
ИмяТипПо умолчанию
sizeVector2I—
size

Логические размеры; 0 сохраняет текущий размер соответствующей оси. Это не размеры новой растровой копии.

Updatevoid
# Update
C#
public void Update(Image image);

Загружает новые пиксели в уже инициализированную текстуру без замены её размера и формата. Входной Image должен совпадать по ширине, высоте, формату и наличию mipmaps. Цепочку mipmaps подготовьте в Image до загрузки. При несовпадении метод сообщает ошибку и не является автоматическим resize/convert. Возвращаемого Error нет. Изменения CPU-изображения сами на GPU не попадают; GetImage тоже возвращает отдельные данные.

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

Image с точно совпадающими размерами, форматом и конфигурацией mipmaps.

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

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

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

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