reckfellENGINE

DrawableTexture2D

Texture2D с явными GPU-операциями записи.

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

Инициализируется через Setup и изменяется вызовами BlitRect/BlitRectMulti. Содержимое не обновляется автоматически при изменении материала. Поддерживает назначение в TextureRect/Sprite2D и чтение результата через GetImage; readback имеет стоимость.

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

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

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

Создаёт ресурс DrawableTexture2D. Перед записью вызовите Setup: конструктор сам не выделяет целевое хранилище. Не принимайте размеры метаданных или RID placeholder за инициализированную рисуемую текстуру.

Методы7

BlitRectvoid
# BlitRect
C#
public void BlitRect(Rect2I rect, Texture2D source, Color? modulate = default, int mipmap = 0, Material material = null);

Выполняет одну GPU-запись в прямоугольник цели, масштабируя в него весь источник. Материал передаётся операции и не становится постоянным эффектом. Без material используется blend_mix; собственный texture_blit без render_mode использует blend_disabled. Источник не может совпадать с целью.

Параметры
ИмяТипПо умолчанию
rectRect2I—
sourceTexture2D—
modulateColor?default
mipmapint0
materialMaterialnull
rect

Прямоугольник назначения в координатах базового размера, включая запись в mipmap; не вырезка источника.

source

Источник Texture2D либо null для белой выборки. AtlasTexture не поддерживается ресурсным вызовом.

modulate

Цвет, передаваемый как MODULATE; не маска каналов. В собственном шейдере применяйте его явно.

mipmap

Существующий уровень назначения; 0 — база.

material

BlitMaterial или texture_blit ShaderMaterial; null выбирает готовый blend_mix.

BlitRectMultivoid
# BlitRectMulti
C#
public void BlitRectMulti(Rect2I rect, Reckfell.Collections.Array<Texture2D> sources, Reckfell.Collections.Array<DrawableTexture2D> extraTargets, Color? modulate = default, int mipmap = 0, Material material = null);

Одна операция с 1–4 источниками и 1–4 целями, включая текущую текстуру. Все цели должны иметь одинаковый размер и запрошенный mipmap. Источники и цели не должны совпадать, выходные ресурсы не повторяйте. COLOR0 пишет текущую текстуру, COLOR1…3 — дополнительные; назначенные, но не записанные выходы RD становятся непрозрачно чёрными.

Параметры
ИмяТипПо умолчанию
rectRect2I—
sourcesReckfell.Collections.Array<Texture2D>—
extraTargetsReckfell.Collections.Array<DrawableTexture2D>—
modulateColor?default
mipmapint0
materialMaterialnull
rect

Общий прямоугольник назначения в базовых координатах всех целей.

sources

От 1 до 4 источников по порядку hint_blit_source0…3.

extraTargets

От 0 до 3 дополнительных инициализированных DrawableTexture2D; текущая цель в массив не включается.

modulate

Значение MODULATE для шейдера операции.

mipmap

Один существующий уровень назначения у всех целей.

material

Материал типа texture_blit; null использует готовый материал.

GenerateMipmapsvoid
# GenerateMipmaps
C#
public void GenerateMipmaps();

Перегенерирует нижние уровни из базового уровня и заменяет их прежнее содержимое, включая ручные записи. Цепочка должна быть выделена через Setup(useMipmaps:true). Обычный blit не поддерживает её актуальность автоматически.

GetUseMipmapsbool
# GetUseMipmaps
C#
public bool GetUseMipmaps();

Возвращает сохранённый флаг настройки, а не результат проверки GPU-хранилища. После отдельного SetUseMipmaps(true) физические уровни могут отсутствовать до Setup.

Возвращает bool

Сохранённый bool useMipmaps.

SetFormatvoid
# SetFormat
C#
public void SetFormat(DrawableTexture2D.DrawableFormat format);

Меняет настройку формата ресурса без переразмещения уже созданного GPU-хранилища. Для смены реального формата вызовите Setup с нужным DrawableFormat; содержимое при этом сбрасывается.

Параметры
ИмяТипПо умолчанию
formatDrawableTexture2D.DrawableFormat—
format

Запрошенный DrawableFormat для настройки ресурса.

SetUseMipmapsvoid
# SetUseMipmaps
C#
public void SetUseMipmaps(bool mipmaps);

Меняет флаг mipmaps без выделения уровней у уже созданного хранилища. Для действительной цепочки вызовите Setup с useMipmaps=true. Getter флага не подтверждает наличие уровней.

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

Запрошенный флаг; сам setter не создаёт mipmap-цепочку.

Setupvoid
# Setup
C#
public void Setup(int width, int height, DrawableTexture2D.DrawableFormat format, Color? color = default, bool useMipmaps = false);

Выделяет или заново создаёт хранилище заданного размера, формата, цвета и mipmap-цепочки. Повторный вызов сбрасывает содержимое; проверенный RD сохраняет RID ресурса. Явно передайте Colors.Transparent для прозрачного холста. Числа 1–16384 — граница API, а не гарантия бюджета GPU.

Параметры
ИмяТипПо умолчанию
widthint—
heightint—
formatDrawableTexture2D.DrawableFormat—
colorColor?default
useMipmapsboolfalse
width

Ширина от 1 до 16384.

height

Высота от 1 до 16384.

format

Формат DrawableFormat; пример проверен с Rgba8.

color

Начальный цвет; null/пропуск означает белый, не прозрачный.

useMipmaps

true — выделить mipmap-цепочку для последующих записей/генерации.

DrawableTexture2D.DrawableFormat

ЗначениеОписание
Rgba8 = 0

Текстурный формат OpenGL RGBA, состоящий из четырех компонентов, каждый с 8-битной глубиной цвета.

Rgba8Srgb = 1

Текстурный формат OpenGL RGBA с четырьмя компонентами, каждый с 8-битной глубиной цвета. При отрисовке выполняется преобразование цветового пространства sRGB в линейное.

Rgbaf = 3

Текстурный формат OpenGL GL_RGBA32F, состоящий из четырех компонентов, каждый из которых представляет собой 32-битное значение с плавающей запятой.

Rgbah = 2

Текстурный формат OpenGL GL_RGBA16F, состоящий из четырех компонентов, каждый из которых представляет собой 16-битное значение с плавающей запятой "половинной точности".

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

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

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

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