reckfellENGINE

CurveXyzTexture

Однопиксельная полоса данных из Curve.

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

CurveXyzTexture создаёт float-текстуру: CurveX → R, CurveY → G, CurveZ → B в RGBF. Назначьте Curve и Width (32…4096). Источник — общая ссылка, его Changed пересоздаёт пиксели; отсутствующая кривая даёт нулевой канал. Значения выше 1 сохраняются без отдельного флага HDR.

Выборка использует Curve.SampleBaked(i/Width), а не i/(Width−1). Последний пиксель не выбирает точную координату 1. Для таблицы по всему диапазону подготовьте Curve с доменом 0…1: другой домен автоматически не масштабируется. Mipmaps не создаются.

В текущей реализации унаследованный GetImage() возвращает null даже при существующих GPU-пикселях. Для редкой диагностики можно получить Image через RenderingServer.Texture2DGet(texture.GetRid()); освобождайте полученный Image после использования. Не читайте GPU каждый кадр. Изменение BakeResolution источника требует EmitChanged() для обновления текстуры.

Проверены данные GPU в Windows Forward+/Vulkan, обновление общих источников и сохранение ресурса. Этот прогон не проверяет shader-выборку, производительность или качество графики.

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

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

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

Создаёт полосу шириной 256 без источников Curve. Конструктор не гарантирует готовых пикселей до первого обновления.

Свойства4

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

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал R. Одну Curve можно использовать в нескольких каналах.

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

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал G. Одну Curve можно использовать в нескольких каналах.

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

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал B. Одну Curve можно использовать в нескольких каналах.

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

Ширина полосы 32…4096, по умолчанию 256; высота всегда 1. Генерируются отсчёты i/Width, поэтому последний пиксель не достигает координаты 1. Mipmaps не создаются.

Методы7

GetCurveXCurve
# GetCurveX
C#
public Curve GetCurveX();

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал R. Одну Curve можно использовать в нескольких каналах.

Возвращает Curve

Текущая общая Curve или null, не копия.

GetCurveYCurve
# GetCurveY
C#
public Curve GetCurveY();

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал G. Одну Curve можно использовать в нескольких каналах.

Возвращает Curve

Текущая общая Curve или null, не копия.

GetCurveZCurve
# GetCurveZ
C#
public Curve GetCurveZ();

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал B. Одну Curve можно использовать в нескольких каналах.

Возвращает Curve

Текущая общая Curve или null, не копия.

SetCurveXvoid
# SetCurveX
C#
public void SetCurveX(Curve curve);

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал R. Одну Curve можно использовать в нескольких каналах.

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

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой.

SetCurveYvoid
# SetCurveY
C#
public void SetCurveY(Curve curve);

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал G. Одну Curve можно использовать в нескольких каналах.

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

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой.

SetCurveZvoid
# SetCurveZ
C#
public void SetCurveZ(Curve curve);

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой. Здесь задаётся канал B. Одну Curve можно использовать в нескольких каналах.

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

Общая ссылка на Curve, изначально null. Изменение источника через Changed пересоздаёт пиксели. Null заполняет канал нулями. Выборка всегда идёт в 0…1, даже если домен Curve другой.

SetWidthvoid
# SetWidth
C#
public void SetWidth(int width);

Ширина полосы 32…4096, по умолчанию 256; высота всегда 1. Генерируются отсчёты i/Width, поэтому последний пиксель не достигает координаты 1. Mipmaps не создаются.

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

Ширина полосы 32…4096, по умолчанию 256; высота всегда 1. Генерируются отсчёты i/Width, поэтому последний пиксель не достигает координаты 1. Mipmaps не создаются.

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

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

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

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