reckfellENGINE

GradientTexture2D

Текстура из Gradient: линейная, радиальная, квадратная или угловая.

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

Назначьте Gradient, размер и точки FillFrom/FillTo в нормализованных координатах. По умолчанию размер 64×64, Fill=Linear, FillFrom=(0,0), FillTo=(1,0), Repeat=None, UseHdr=false, а Gradient=null. Конструктор сам не создаёт Gradient.

Linear использует проекцию на ось, Radial — расстояние, Square — максимум расстояний по осям, Conic — угол. Repeat меняет координату при генерации рисунка; он не настраивает повторение готовой текстуры в материале. Если FillFrom и FillTo совпали, вся сетка выбирает Gradient.Sample(0).

Полный проверенный пример создания горизонтального перехода; возвращённую Texture2D можно назначить свойству Texture подходящего элемента:

C#
using Reckfell;

public static class GradientRamp
{
    public static GradientTexture2D Create()
    {
        using var gradient = new Gradient
        {
            Offsets = new[] { 0.0f, 1.0f },
            Colors = new[] { Colors.Black, Colors.White },
            InterpolationMode = Gradient.InterpolationModeEnum.Linear,
            InterpolationColorSpace = Gradient.ColorSpace.Srgb,
        };
        return new GradientTexture2D
        {
            Gradient = gradient,
            Width = 256,
            Height = 32,
            Fill = GradientTexture2D.FillEnum.Linear,
            FillFrom = Vector2.Zero,
            FillTo = new Vector2(1, 0),
            Repeat = GradientTexture2D.RepeatEnum.None,
        };
    }
}

Изменение общего Gradient обновляет связанные текстуры; GetImage принудительно завершает ожидающую генерацию. Чтение возвращает отдельное изображение. Null-источник не стирает прежние пиксели. UseHdr выбирает RGBAF вместо ограниченного RGBA8, но не включает эффекты окружения или HDR монитора.

Режимы заполнения, Repeat/Mirror, HDR/LDR, обновление и независимая загрузка сохранённого ресурса проверены в Forward+/Vulkan. Пример создаёт данные текстуры, а не иллюстрацию качества графики. Shader-выборка, все разрешения, производительность и другие backend этим прогоном не подтверждены.

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

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

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

Создаёт текстуру без назначенного Gradient и без готовых пикселей. Значения параметров по умолчанию не означают, что изображение уже создано.

Свойства8

FillСвойство
# Fill
C#
public GradientTexture2D.FillEnum Fill { get; set; }

Форма координаты выборки: Linear проецирует на ось FillFrom→FillTo; Radial использует расстояние от FillFrom, Square — максимум расстояний по осям, Conic — угол вокруг FillFrom с нулевым лучом в сторону FillTo. По умолчанию Linear.

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

Начало заполнения в нормализованных координатах текстуры, по умолчанию (0, 0). Для Radial, Square и Conic это центр. Это не координаты в пикселях; setter не ограничивает вектор диапазоном 0…1.

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

Вторая точка в нормализованных координатах, по умолчанию (1, 0). Задаёт конец линейной оси, масштаб Radial/Square или нулевой луч Conic. При равенстве FillFrom вся текстура выбирает Gradient.Sample(0), независимо от Repeat.

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

Источник цветов, по умолчанию null в C#-конструкторе. Это общая ссылка, не копия. Изменения Gradient ставят пересоздание пикселей в очередь; GetImage синхронно обрабатывает ожидающее обновление. Назначение null отключает источник, но не очищает уже созданные пиксели.

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

Высота в пикселях, изначально 64. Допустимо 1…16384; изображение остаётся двумерной сеткой. Mipmaps этим ресурсом не создаются.

RepeatСвойство
# Repeat
C#
public GradientTexture2D.RepeatEnum Repeat { get; set; }

Обработка координаты градиента вне 0…1: None ограничивает её, Repeat циклически повторяет с периодом 1, Mirror отражает с периодом 2. При Repeat точная координата 1 переходит в 0. Это генерация рисунка, а не режим повторения sampler у готовой текстуры.

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

По умолчанию false: пиксели RGBA8 с ограничением 0…1 и квантованием. True выбирает RGBAF и сохраняет расширенный диапазон, включая значения выше 1. Это формат данных текстуры; свечение и HDR-вывод окна отдельно не включаются.

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

Ширина в пикселях, изначально 64. Setter допускает 1…16384, но это не гарантия доступной GPU-памяти. Изменение ставит пересоздание изображения в очередь.

Методы14

GetFillGradientTexture2D.FillEnum
# GetFill
C#
public GradientTexture2D.FillEnum GetFill();

Возвращает значение GradientTexture2D.Fill.

Возвращает GradientTexture2D.FillEnum

Текущее значение GradientTexture2D.Fill.

GetFillFromVector2
# GetFillFrom
C#
public Vector2 GetFillFrom();

Возвращает значение GradientTexture2D.FillFrom.

Возвращает Vector2

Текущее значение GradientTexture2D.FillFrom.

GetFillToVector2
# GetFillTo
C#
public Vector2 GetFillTo();

Возвращает значение GradientTexture2D.FillTo.

Возвращает Vector2

Текущее значение GradientTexture2D.FillTo.

GetGradientGradient
# GetGradient
C#
public Gradient GetGradient();

Возвращает значение GradientTexture2D.Gradient.

Возвращает Gradient

Текущий источник Gradient; null, если он не назначен. Это общая ссылка, не копия.

GetRepeatGradientTexture2D.RepeatEnum
# GetRepeat
C#
public GradientTexture2D.RepeatEnum GetRepeat();

Возвращает значение GradientTexture2D.Repeat.

Возвращает GradientTexture2D.RepeatEnum

Текущее значение GradientTexture2D.Repeat.

IsUsingHdrbool
# IsUsingHdr
C#
public bool IsUsingHdr();

Возвращает значение GradientTexture2D.UseHdr.

Возвращает bool

Текущее значение GradientTexture2D.UseHdr.

SetFillvoid
# SetFill
C#
public void SetFill(GradientTexture2D.FillEnum fill);

Назначает значение GradientTexture2D.Fill.

Параметры
ИмяТипПо умолчанию
fillGradientTexture2D.FillEnum—
fill

Режим Linear, Radial, Square или Conic.

SetFillFromvoid
# SetFillFrom
C#
public void SetFillFrom(Vector2 fillFrom);

Назначает значение GradientTexture2D.FillFrom.

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

Нормализованная начальная точка или центр, не пиксельная позиция.

SetFillTovoid
# SetFillTo
C#
public void SetFillTo(Vector2 fillTo);

Назначает значение GradientTexture2D.FillTo.

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

Нормализованная вторая точка, задающая ось, масштаб или нулевой луч.

SetGradientvoid
# SetGradient
C#
public void SetGradient(Gradient gradient);

Назначает значение GradientTexture2D.Gradient.

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

Общий Gradient или null. Null не удаляет ранее сгенерированные пиксели.

SetHeightvoid
# SetHeight
C#
public void SetHeight(int height);

Назначает значение GradientTexture2D.Height.

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

Высота в пикселях, 1…16384; проверяйте затраты памяти выбранного размера.

SetRepeatvoid
# SetRepeat
C#
public void SetRepeat(GradientTexture2D.RepeatEnum repeat);

Назначает значение GradientTexture2D.Repeat.

Параметры
ИмяТипПо умолчанию
repeatGradientTexture2D.RepeatEnum—
repeat

None, Repeat или Mirror для координаты генерируемого рисунка.

SetUseHdrvoid
# SetUseHdr
C#
public void SetUseHdr(bool enabled);

Назначает значение GradientTexture2D.UseHdr.

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

True для RGBAF, false для ограниченного и квантованного RGBA8.

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

Назначает значение GradientTexture2D.Width.

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

Ширина в пикселях, 1…16384; доступная память GPU зависит от устройства.

GradientTexture2D.FillEnum

ЗначениеОписание
Conic = 3

Цвета интерполируются линейно по конусообразной схеме.

Linear = 0

Цвета линейно интерполируются по прямой линии.

Radial = 1

Цвета линейно интерполируются по круговому шаблону.

Square = 2

Цвета линейно интерполируются в квадратный узор.

GradientTexture2D.RepeatEnum

ЗначениеОписание
Mirror = 2

Текстура заполняется, начиная со смещений GradientTexture2D.FillFrom до GradientTexture2D.FillTo, зеркально отображая узор в обоих направлениях.

None = 0

Градиентная заливка ограничена диапазоном, определяемым смещениями GradientTexture2D.FillFrom – GradientTexture2D.FillTo.

Repeat = 1

Текстура заполняется, начиная со смещений GradientTexture2D.FillFrom до GradientTexture2D.FillTo, повторяя один и тот же узор в обоих направлениях.

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

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

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

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