reckfellENGINE

CurveTexture

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

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

CurveTexture создаёт float-текстуру: одно значение в RGBF или RF через TextureMode. Назначьте 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

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

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

Свойства3

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

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

TextureModeСвойство
# TextureMode
C#
public CurveTexture.TextureModeEnum TextureMode { get; set; }

Rgb по умолчанию: RGBF, одно значение во всех трёх каналах. Red использует RF с одним каналом. Данные float сохраняют значения выше 1; режим не включает свечение.

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

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

Методы5

GetCurveCurve
# GetCurve
C#
public Curve GetCurve();

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

Возвращает Curve

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

GetTextureModeCurveTexture.TextureModeEnum
# GetTextureMode
C#
public CurveTexture.TextureModeEnum GetTextureMode();

Rgb по умолчанию: RGBF, одно значение во всех трёх каналах. Red использует RF с одним каналом. Данные float сохраняют значения выше 1; режим не включает свечение.

Возвращает CurveTexture.TextureModeEnum

Rgb по умолчанию: RGBF, одно значение во всех трёх каналах. Red использует RF с одним каналом. Данные float сохраняют значения выше 1; режим не включает свечение.

SetCurvevoid
# SetCurve
C#
public void SetCurve(Curve curve);

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

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

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

SetTextureModevoid
# SetTextureMode
C#
public void SetTextureMode(CurveTexture.TextureModeEnum textureMode);

Rgb по умолчанию: RGBF, одно значение во всех трёх каналах. Red использует RF с одним каналом. Данные float сохраняют значения выше 1; режим не включает свечение.

Параметры
ИмяТипПо умолчанию
textureModeCurveTexture.TextureModeEnum—
textureMode

Rgb по умолчанию: RGBF, одно значение во всех трёх каналах. Red использует RF с одним каналом. Данные float сохраняют значения выше 1; режим не включает свечение.

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 не создаются.

CurveTexture.TextureModeEnum

ЗначениеОписание
Red = 1

Сохраняйте кривую только в красном канале. Это экономит видеопамять, но некоторые пользовательские шейдеры могут не работать с этим.

Rgb = 0

Сохраните кривую равномерно по красному, зеленому и синему каналам. Это использует больше видеопамяти, но более совместимо с шейдерами, которые считывают только значения зеленого и синего.

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

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

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

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