GradientTexture1D
Градиентная полоса Texture2D высотой один пиксель.
Назначьте Gradient и Width: ресурс создаёт полосу Texture2D высотой 1. В C# новый экземпляр имеет Width=256, UseHdr=false и Gradient=null; пиксели ещё не созданы. Для интерполированной полосы задавайте Width не меньше 2, поскольку выборка использует i/(Width−1).
Изменение общего Gradient автоматически ставит пересоздание полосы в очередь. GetImage обрабатывает ожидающее обновление и возвращает отдельные данные; не вызывайте GPU-чтение каждый кадр вместо обычного использования Texture2D. Увеличение Width повышает дискретизацию полосы, но не число точек Gradient. Mipmaps не создаются.
UseHdr переключает RGBA8 на RGBAF и не включает свечение сцены. Назначение Gradient=null не очищает уже сгенерированные пиксели: для другого результата назначьте действующий градиент нужного цвета или создайте новый ресурс.
Пиксели, обновление, HDR/LDR и сохранение RID проверены в Forward+/Vulkan. Shader-выборка, Width=1 для интерполированного перехода, визуальное качество и производительность не подтверждены этим прогоном.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
GradientTexture1DКонструктор
public GradientTexture1D();Создаёт текстуру без назначенного Gradient и без готовых пикселей. Значения параметров по умолчанию не означают, что изображение уже создано.
Свойства3
GradientСвойство
public Gradient Gradient { get; set; }Источник цветов, по умолчанию null в C#-конструкторе. Это общая ссылка, не копия. Изменения Gradient ставят пересоздание пикселей в очередь; GetImage синхронно обрабатывает ожидающее обновление. Назначение null отключает источник, но не очищает уже созданные пиксели.
UseHdrСвойство
public bool UseHdr { get; set; }По умолчанию false: пиксели RGBA8 с ограничением 0…1 и квантованием. True выбирает RGBAF и сохраняет расширенный диапазон, включая значения выше 1. Это формат данных текстуры; свечение и HDR-вывод окна отдельно не включаются.
WidthСвойство
public int Width { get; set; }Ширина в пикселях, изначально 256, высота всегда 1. Setter допускает 1…16384. Для интерполированной полосы используйте минимум 2: реализация рассчитывает позицию как i/(Width−1). Граничный Width=1 для такого перехода этим прогоном не проверен.
Методы5
GetGradientGradient
public Gradient GetGradient();Возвращает значение GradientTexture1D.Gradient.
GradientТекущий источник Gradient; null, если он не назначен. Это общая ссылка, не копия.
IsUsingHdrbool
public bool IsUsingHdr();Возвращает значение GradientTexture1D.UseHdr.
SetGradientvoid
public void SetGradient(Gradient gradient);Назначает значение GradientTexture1D.Gradient.
| Имя | Тип | По умолчанию |
|---|---|---|
gradient | Gradient | — |
gradientОбщий Gradient или null. Null не удаляет ранее сгенерированные пиксели.
SetUseHdrvoid
public void SetUseHdr(bool enabled);Назначает значение GradientTexture1D.UseHdr.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledTrue для RGBAF, false для ограниченного и квантованного RGBA8.
SetWidthvoid
public void SetWidth(int width);Назначает значение GradientTexture1D.Width.
| Имя | Тип | По умолчанию |
|---|---|---|
width | int | — |
widthШирина в пикселях в допустимом диапазоне; для перехода GradientTexture1D используйте минимум 2.