reckfellENGINE

RDSamplerState

Фильтрация, адресация и LOD для sampler RenderingDevice.

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

RDSamplerState описывает способ чтения текстуры: фильтрацию, адресацию, mip LOD, анизотропию и depth comparison. Не содержит пиксели и не создаёт GPU sampler автоматически. Передайте описание в RenderingDevice.SamplerCreate и сохраните возвращённый RID. Последующее изменение описания не перенастраивает созданный sampler: создайте другой и освободите старый после завершения использования.

По умолчанию три фильтра — Nearest, RepeatU/V/W — ClampToEdge, координаты нормализованы, LodBias=MinLod=0 и MaxLod≈1e20. UseAnisotropy и EnableCompare выключены; AnisotropyMax=1, CompareOp=Always, BorderColor=FloatOpaqueBlack. ClampToEdge не использует BorderColor: он берёт крайний texel. MinLod/MaxLod ограничивают уровень, LodBias смещает его вычисление; ни одна настройка не создаёт mip-изображения. Размеры и уровни задаются в RDTextureFormat.

Этот выполненный preset предназначен для обычного RGBA8: линейная фильтрация, ограничение по краю и только базовый mip-уровень. Он проверяет поддержку линейного фильтра для конкретного формата и не включает анизотропию или comparison:

C#
using System;
using Reckfell;

public static class SamplerPresets
{
    // Base-level RGBA8, normalized UV, linear filtering and edge clamping.
    // Caller owns the RID; use the supplied device's valid thread context.
    public static Rid LinearClamp(RenderingDevice device)
    {
        ArgumentNullException.ThrowIfNull(device);
        if (!device.SamplerIsFormatSupportedForFilter(
            RenderingDevice.DataFormat.R8G8B8A8Unorm,
            RenderingDevice.SamplerFilter.Linear))
            throw new NotSupportedException("RGBA8 linear filtering is unavailable.");
        using var state = new RDSamplerState
        {
            MagFilter = RenderingDevice.SamplerFilter.Linear,
            MinFilter = RenderingDevice.SamplerFilter.Linear,
            MipFilter = RenderingDevice.SamplerFilter.Nearest,
            RepeatU = RenderingDevice.SamplerRepeatMode.ClampToEdge,
            RepeatV = RenderingDevice.SamplerRepeatMode.ClampToEdge,
            RepeatW = RenderingDevice.SamplerRepeatMode.ClampToEdge,
            MinLod = 0, MaxLod = 0, LodBias = 0,
            UseAnisotropy = false, EnableCompare = false, UnnormalizedUvw = false
        };
        Rid sampler = device.SamplerCreate(state);
        if (!sampler.IsValid) throw new InvalidOperationException("GPU sampler creation failed.");
        return sampler;
    }
}

Передавайте реальный RenderingDevice и используйте его допустимый контекст вызова. Основное устройство из RenderingServer.GetRenderingDevice заимствовано: не Dispose и не Free его; для связанной работы используйте CallOnRenderThread. Локальное устройство, созданное вашим кодом, имеет собственные RID и очередь. Пример проверен на отдельном локальном устройстве. Caller владеет возвращённым sampler RID: освободите через FreeRid на том же устройстве после завершения работы. Dispose описания не освобождает sampler. Для combined binding RDUniform с UniformType.SamplerWithTexture сначала добавляют RID sampler, затем RID текстуры. Сам sampler не назначает материал и не запускает draw/dispatch.

UnnormalizedUvw=true требует специальной конфигурации. Для Vulkan: MinFilter=MagFilter, MipFilter=Nearest, MinLod=MaxLod=0, RepeatU/V — ClampToEdge или ClampToBorder; анизотропия и comparison выключены. Есть дополнительные ограничения изображения и shader-инструкций. Проверяйте полный контракт VkSamplerCreateInfo. Setter движка не проверяет совместимость всей конфигурации.

Если текстура размыта, сначала разделите MagFilter, MinFilter и MipFilter и проверьте фактическую mip-цепочку. Если край чёрный — проверьте ClampToBorder, BorderColor и прозрачные texel, прежде чем менять освещение. Если анизотропия не видна — одного UseAnisotropy недостаточно: нужны поддержка устройства, корректный AnisotropyMax и подходящая сцена. Не создавайте sampler каждый кадр без необходимости.

На Windows/Vulkan Forward+ проверены точный helper, linear/nearest через compute textureLod, ClampToEdge, Repeat, белая граница ClampToBorder, ограничение уровней и неизменность уже созданного sampler после правки описания. Предупреждение загрузчика Vulkan сохранено. Не проверены производные растеризации, выбор min/mag по размеру пикселя, смешивание mip-уровней, анизотропия, depth comparison, unnormalized sampling, другие GPU/драйверы, качество изображения и FPS.

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

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

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

Создаёт описание sampler с nearest-фильтрами, ClampToEdge по трём осям, LodBias=MinLod=0, MaxLod≈1e20, анизотропией и сравнением false, AnisotropyMax=1, CompareOp=Always, BorderColor=FloatOpaqueBlack и нормализованными координатами. GPU sampler пока не существует.

Свойства15

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

Запрошенная максимальная анизотропия, изначально 1. Учитывается при UseAnisotropy; число не является уровнем MSAA. Vulkan передаёт значение драйверу, поэтому не рассчитывайте на автоматическое ограничение произвольного числа. Общий для всех GPU максимум 16 не гарантируется.

BorderColorСвойство
# BorderColor
C#
public RenderingDevice.SamplerBorderColor BorderColor { get; set; }

Цвет вне текстуры при SamplerRepeatMode.ClampToBorder, изначально SamplerBorderColor.FloatOpaqueBlack. ClampToEdge использует крайний texel, а не этот цвет. Доступен набор enum-цветов, а не произвольный Color; цвет не записывается в текстуру.

CompareOpСвойство
# CompareOp
C#
public RenderingDevice.CompareOperator CompareOp { get; set; }

Операция comparison sampler, изначально CompareOperator.Always. Учитывается при EnableCompare=true и совместимой инструкции/текстуре. Не является depth test геометрии и не меняет сортировку draw calls.

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

Включение comparison sampling, изначально false. Для depth/shadow sampler результат определяется CompareOp и опорным значением инструкции сравнения. Флаг не создаёт shadow map, источник света или глубину и не является обычной цветовой фильтрацией.

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

Добавка к вычислению mip LOD, изначально 0. В обычной выборке положительное смещение способствует выбору более грубого уровня, отрицательное — более детального. Не меняет mip-данные и не заменяет MinLod/MaxLod; результат зависит от инструкции выборки и доступных уровней.

MagFilterСвойство
# MagFilter
C#
public RenderingDevice.SamplerFilter MagFilter { get; set; }

Фильтр при увеличении texel на экране, изначально SamplerFilter.Nearest. Linear интерполирует соседние texel; Nearest выбирает ближайший. Не выбирает число mip-уровней. Для корректного сочетания фильтра и формата проверяйте SamplerIsFormatSupportedForFilter.

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

Верхняя граница выбираемого mip LOD, изначально около 1e20. Большое значение само не создаёт уровни. При MinLod=MaxLod=0 чтение ограничивается базовым уровнем, в том числе в выполненном примере textureLod. Это не величина смещения LOD.

MinFilterСвойство
# MinFilter
C#
public RenderingDevice.SamplerFilter MinFilter { get; set; }

Фильтр внутри выбранного mip-уровня при уменьшении изображения, изначально SamplerFilter.Nearest. Linear не заменяет MipFilter: последний определяет переход между уровнями. Поддержка фильтра зависит от формата текстуры.

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

Нижняя граница выбираемого mip LOD, изначально 0 — базовый уровень. Это ограничение уровня, а не смещение LodBias. Повышение значения ограничивает доступ к более детальным уровням; исходная текстура должна содержать нужные уровни.

MipFilterСвойство
# MipFilter
C#
public RenderingDevice.SamplerFilter MipFilter { get; set; }

Способ выбора между mip-уровнями, изначально SamplerFilter.Nearest. Linear допускает смешивание соседних уровней. Нужны реально созданные и заполненные уровни текстуры; это поле не генерирует их и не меняет RDTextureFormat.Mipmaps.

RepeatUСвойство
# RepeatU
C#
public RenderingDevice.SamplerRepeatMode RepeatU { get; set; }

Режим адресации оси U, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

RepeatVСвойство
# RepeatV
C#
public RenderingDevice.SamplerRepeatMode RepeatV { get; set; }

Режим адресации оси V, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

RepeatWСвойство
# RepeatW
C#
public RenderingDevice.SamplerRepeatMode RepeatW { get; set; }

Режим адресации оси W, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Для 3D это третья пространственная координата; не индекс слоя массива.

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

Ненормализованные координаты выборки, изначально false. При false координаты задаются относительно размера текстуры; true использует texel-координаты. Это специальный режим с ограничениями backend и инструкции, а не свободная замена UV. Требования Vulkan приведены во введении.

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

Запрос анизотропной фильтрации, изначально false. В Vulkan включается только при поддержке samplerAnisotropy устройством; одного true недостаточно для гарантии результата. Обычно применяется к поверхностям под острым углом; оценка качества и стоимости требует целевой сцены.

Методы30

GetAnisotropyMaxfloat
# GetAnisotropyMax
C#
public float GetAnisotropyMax();

Возвращает сохранённое AnisotropyMax этого описания, не запрос GPU. Запрошенная максимальная анизотропия, изначально 1. Учитывается при UseAnisotropy; число не является уровнем MSAA. Vulkan передаёт значение драйверу, поэтому не рассчитывайте на автоматическое ограничение произвольного числа. Общий для всех GPU максимум 16 не гарантируется.

Возвращает float

Сохранённое значение AnisotropyMax; фактический результат выборки этим getter не измеряется.

GetBorderColorRenderingDevice.SamplerBorderColor
# GetBorderColor
C#
public RenderingDevice.SamplerBorderColor GetBorderColor();

Возвращает сохранённое BorderColor этого описания, не запрос GPU. Цвет вне текстуры при SamplerRepeatMode.ClampToBorder, изначально SamplerBorderColor.FloatOpaqueBlack. ClampToEdge использует крайний texel, а не этот цвет. Доступен набор enum-цветов, а не произвольный Color; цвет не записывается в текстуру.

Возвращает RenderingDevice.SamplerBorderColor

Сохранённое значение BorderColor; фактический результат выборки этим getter не измеряется.

GetCompareOpRenderingDevice.CompareOperator
# GetCompareOp
C#
public RenderingDevice.CompareOperator GetCompareOp();

Возвращает сохранённое CompareOp этого описания, не запрос GPU. Операция comparison sampler, изначально CompareOperator.Always. Учитывается при EnableCompare=true и совместимой инструкции/текстуре. Не является depth test геометрии и не меняет сортировку draw calls.

Возвращает RenderingDevice.CompareOperator

Сохранённое значение CompareOp; фактический результат выборки этим getter не измеряется.

GetEnableComparebool
# GetEnableCompare
C#
public bool GetEnableCompare();

Возвращает сохранённое EnableCompare этого описания, не запрос GPU. Включение comparison sampling, изначально false. Для depth/shadow sampler результат определяется CompareOp и опорным значением инструкции сравнения. Флаг не создаёт shadow map, источник света или глубину и не является обычной цветовой фильтрацией.

Возвращает bool

Сохранённое значение EnableCompare; фактический результат выборки этим getter не измеряется.

GetLodBiasfloat
# GetLodBias
C#
public float GetLodBias();

Возвращает сохранённое LodBias этого описания, не запрос GPU. Добавка к вычислению mip LOD, изначально 0. В обычной выборке положительное смещение способствует выбору более грубого уровня, отрицательное — более детального. Не меняет mip-данные и не заменяет MinLod/MaxLod; результат зависит от инструкции выборки и доступных уровней.

Возвращает float

Сохранённое значение LodBias; фактический результат выборки этим getter не измеряется.

GetMagFilterRenderingDevice.SamplerFilter
# GetMagFilter
C#
public RenderingDevice.SamplerFilter GetMagFilter();

Возвращает сохранённое MagFilter этого описания, не запрос GPU. Фильтр при увеличении texel на экране, изначально SamplerFilter.Nearest. Linear интерполирует соседние texel; Nearest выбирает ближайший. Не выбирает число mip-уровней. Для корректного сочетания фильтра и формата проверяйте SamplerIsFormatSupportedForFilter.

Возвращает RenderingDevice.SamplerFilter

Сохранённое значение MagFilter; фактический результат выборки этим getter не измеряется.

GetMaxLodfloat
# GetMaxLod
C#
public float GetMaxLod();

Возвращает сохранённое MaxLod этого описания, не запрос GPU. Верхняя граница выбираемого mip LOD, изначально около 1e20. Большое значение само не создаёт уровни. При MinLod=MaxLod=0 чтение ограничивается базовым уровнем, в том числе в выполненном примере textureLod. Это не величина смещения LOD.

Возвращает float

Сохранённое значение MaxLod; фактический результат выборки этим getter не измеряется.

GetMinFilterRenderingDevice.SamplerFilter
# GetMinFilter
C#
public RenderingDevice.SamplerFilter GetMinFilter();

Возвращает сохранённое MinFilter этого описания, не запрос GPU. Фильтр внутри выбранного mip-уровня при уменьшении изображения, изначально SamplerFilter.Nearest. Linear не заменяет MipFilter: последний определяет переход между уровнями. Поддержка фильтра зависит от формата текстуры.

Возвращает RenderingDevice.SamplerFilter

Сохранённое значение MinFilter; фактический результат выборки этим getter не измеряется.

GetMinLodfloat
# GetMinLod
C#
public float GetMinLod();

Возвращает сохранённое MinLod этого описания, не запрос GPU. Нижняя граница выбираемого mip LOD, изначально 0 — базовый уровень. Это ограничение уровня, а не смещение LodBias. Повышение значения ограничивает доступ к более детальным уровням; исходная текстура должна содержать нужные уровни.

Возвращает float

Сохранённое значение MinLod; фактический результат выборки этим getter не измеряется.

GetMipFilterRenderingDevice.SamplerFilter
# GetMipFilter
C#
public RenderingDevice.SamplerFilter GetMipFilter();

Возвращает сохранённое MipFilter этого описания, не запрос GPU. Способ выбора между mip-уровнями, изначально SamplerFilter.Nearest. Linear допускает смешивание соседних уровней. Нужны реально созданные и заполненные уровни текстуры; это поле не генерирует их и не меняет RDTextureFormat.Mipmaps.

Возвращает RenderingDevice.SamplerFilter

Сохранённое значение MipFilter; фактический результат выборки этим getter не измеряется.

GetRepeatURenderingDevice.SamplerRepeatMode
# GetRepeatU
C#
public RenderingDevice.SamplerRepeatMode GetRepeatU();

Возвращает сохранённое RepeatU этого описания, не запрос GPU. Режим адресации оси U, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

Возвращает RenderingDevice.SamplerRepeatMode

Сохранённое значение RepeatU; фактический результат выборки этим getter не измеряется.

GetRepeatVRenderingDevice.SamplerRepeatMode
# GetRepeatV
C#
public RenderingDevice.SamplerRepeatMode GetRepeatV();

Возвращает сохранённое RepeatV этого описания, не запрос GPU. Режим адресации оси V, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

Возвращает RenderingDevice.SamplerRepeatMode

Сохранённое значение RepeatV; фактический результат выборки этим getter не измеряется.

GetRepeatWRenderingDevice.SamplerRepeatMode
# GetRepeatW
C#
public RenderingDevice.SamplerRepeatMode GetRepeatW();

Возвращает сохранённое RepeatW этого описания, не запрос GPU. Режим адресации оси W, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Для 3D это третья пространственная координата; не индекс слоя массива.

Возвращает RenderingDevice.SamplerRepeatMode

Сохранённое значение RepeatW; фактический результат выборки этим getter не измеряется.

GetUnnormalizedUvwbool
# GetUnnormalizedUvw
C#
public bool GetUnnormalizedUvw();

Возвращает сохранённое UnnormalizedUvw этого описания, не запрос GPU. Ненормализованные координаты выборки, изначально false. При false координаты задаются относительно размера текстуры; true использует texel-координаты. Это специальный режим с ограничениями backend и инструкции, а не свободная замена UV. Требования Vulkan приведены во введении.

Возвращает bool

Сохранённое значение UnnormalizedUvw; фактический результат выборки этим getter не измеряется.

GetUseAnisotropybool
# GetUseAnisotropy
C#
public bool GetUseAnisotropy();

Возвращает сохранённое UseAnisotropy этого описания, не запрос GPU. Запрос анизотропной фильтрации, изначально false. В Vulkan включается только при поддержке samplerAnisotropy устройством; одного true недостаточно для гарантии результата. Обычно применяется к поверхностям под острым углом; оценка качества и стоимости требует целевой сцены.

Возвращает bool

Сохранённое значение UseAnisotropy; фактический результат выборки этим getter не измеряется.

SetAnisotropyMaxvoid
# SetAnisotropyMax
C#
public void SetAnisotropyMax(float pMember);

Сохраняет AnisotropyMax в описании, не меняя уже созданные sampler. Запрошенная максимальная анизотропия, изначально 1. Учитывается при UseAnisotropy; число не является уровнем MSAA. Vulkan передаёт значение драйверу, поэтому не рассчитывайте на автоматическое ограничение произвольного числа. Общий для всех GPU максимум 16 не гарантируется.

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

Запрошенная максимальная анизотропия, изначально 1. Учитывается при UseAnisotropy; число не является уровнем MSAA. Vulkan передаёт значение драйверу, поэтому не рассчитывайте на автоматическое ограничение произвольного числа. Общий для всех GPU максимум 16 не гарантируется.

SetBorderColorvoid
# SetBorderColor
C#
public void SetBorderColor(RenderingDevice.SamplerBorderColor pMember);

Сохраняет BorderColor в описании, не меняя уже созданные sampler. Цвет вне текстуры при SamplerRepeatMode.ClampToBorder, изначально SamplerBorderColor.FloatOpaqueBlack. ClampToEdge использует крайний texel, а не этот цвет. Доступен набор enum-цветов, а не произвольный Color; цвет не записывается в текстуру.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerBorderColor—
pMember

Цвет вне текстуры при SamplerRepeatMode.ClampToBorder, изначально SamplerBorderColor.FloatOpaqueBlack. ClampToEdge использует крайний texel, а не этот цвет. Доступен набор enum-цветов, а не произвольный Color; цвет не записывается в текстуру.

SetCompareOpvoid
# SetCompareOp
C#
public void SetCompareOp(RenderingDevice.CompareOperator pMember);

Сохраняет CompareOp в описании, не меняя уже созданные sampler. Операция comparison sampler, изначально CompareOperator.Always. Учитывается при EnableCompare=true и совместимой инструкции/текстуре. Не является depth test геометрии и не меняет сортировку draw calls.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.CompareOperator—
pMember

Операция comparison sampler, изначально CompareOperator.Always. Учитывается при EnableCompare=true и совместимой инструкции/текстуре. Не является depth test геометрии и не меняет сортировку draw calls.

SetEnableComparevoid
# SetEnableCompare
C#
public void SetEnableCompare(bool pMember);

Сохраняет EnableCompare в описании, не меняя уже созданные sampler. Включение comparison sampling, изначально false. Для depth/shadow sampler результат определяется CompareOp и опорным значением инструкции сравнения. Флаг не создаёт shadow map, источник света или глубину и не является обычной цветовой фильтрацией.

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

Включение comparison sampling, изначально false. Для depth/shadow sampler результат определяется CompareOp и опорным значением инструкции сравнения. Флаг не создаёт shadow map, источник света или глубину и не является обычной цветовой фильтрацией.

SetLodBiasvoid
# SetLodBias
C#
public void SetLodBias(float pMember);

Сохраняет LodBias в описании, не меняя уже созданные sampler. Добавка к вычислению mip LOD, изначально 0. В обычной выборке положительное смещение способствует выбору более грубого уровня, отрицательное — более детального. Не меняет mip-данные и не заменяет MinLod/MaxLod; результат зависит от инструкции выборки и доступных уровней.

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

Добавка к вычислению mip LOD, изначально 0. В обычной выборке положительное смещение способствует выбору более грубого уровня, отрицательное — более детального. Не меняет mip-данные и не заменяет MinLod/MaxLod; результат зависит от инструкции выборки и доступных уровней.

SetMagFiltervoid
# SetMagFilter
C#
public void SetMagFilter(RenderingDevice.SamplerFilter pMember);

Сохраняет MagFilter в описании, не меняя уже созданные sampler. Фильтр при увеличении texel на экране, изначально SamplerFilter.Nearest. Linear интерполирует соседние texel; Nearest выбирает ближайший. Не выбирает число mip-уровней. Для корректного сочетания фильтра и формата проверяйте SamplerIsFormatSupportedForFilter.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerFilter—
pMember

Фильтр при увеличении texel на экране, изначально SamplerFilter.Nearest. Linear интерполирует соседние texel; Nearest выбирает ближайший. Не выбирает число mip-уровней. Для корректного сочетания фильтра и формата проверяйте SamplerIsFormatSupportedForFilter.

SetMaxLodvoid
# SetMaxLod
C#
public void SetMaxLod(float pMember);

Сохраняет MaxLod в описании, не меняя уже созданные sampler. Верхняя граница выбираемого mip LOD, изначально около 1e20. Большое значение само не создаёт уровни. При MinLod=MaxLod=0 чтение ограничивается базовым уровнем, в том числе в выполненном примере textureLod. Это не величина смещения LOD.

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

Верхняя граница выбираемого mip LOD, изначально около 1e20. Большое значение само не создаёт уровни. При MinLod=MaxLod=0 чтение ограничивается базовым уровнем, в том числе в выполненном примере textureLod. Это не величина смещения LOD.

SetMinFiltervoid
# SetMinFilter
C#
public void SetMinFilter(RenderingDevice.SamplerFilter pMember);

Сохраняет MinFilter в описании, не меняя уже созданные sampler. Фильтр внутри выбранного mip-уровня при уменьшении изображения, изначально SamplerFilter.Nearest. Linear не заменяет MipFilter: последний определяет переход между уровнями. Поддержка фильтра зависит от формата текстуры.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerFilter—
pMember

Фильтр внутри выбранного mip-уровня при уменьшении изображения, изначально SamplerFilter.Nearest. Linear не заменяет MipFilter: последний определяет переход между уровнями. Поддержка фильтра зависит от формата текстуры.

SetMinLodvoid
# SetMinLod
C#
public void SetMinLod(float pMember);

Сохраняет MinLod в описании, не меняя уже созданные sampler. Нижняя граница выбираемого mip LOD, изначально 0 — базовый уровень. Это ограничение уровня, а не смещение LodBias. Повышение значения ограничивает доступ к более детальным уровням; исходная текстура должна содержать нужные уровни.

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

Нижняя граница выбираемого mip LOD, изначально 0 — базовый уровень. Это ограничение уровня, а не смещение LodBias. Повышение значения ограничивает доступ к более детальным уровням; исходная текстура должна содержать нужные уровни.

SetMipFiltervoid
# SetMipFilter
C#
public void SetMipFilter(RenderingDevice.SamplerFilter pMember);

Сохраняет MipFilter в описании, не меняя уже созданные sampler. Способ выбора между mip-уровнями, изначально SamplerFilter.Nearest. Linear допускает смешивание соседних уровней. Нужны реально созданные и заполненные уровни текстуры; это поле не генерирует их и не меняет RDTextureFormat.Mipmaps.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerFilter—
pMember

Способ выбора между mip-уровнями, изначально SamplerFilter.Nearest. Linear допускает смешивание соседних уровней. Нужны реально созданные и заполненные уровни текстуры; это поле не генерирует их и не меняет RDTextureFormat.Mipmaps.

SetRepeatUvoid
# SetRepeatU
C#
public void SetRepeatU(RenderingDevice.SamplerRepeatMode pMember);

Сохраняет RepeatU в описании, не меняя уже созданные sampler. Режим адресации оси U, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerRepeatMode—
pMember

Режим адресации оси U, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

SetRepeatVvoid
# SetRepeatV
C#
public void SetRepeatV(RenderingDevice.SamplerRepeatMode pMember);

Сохраняет RepeatV в описании, не меняя уже созданные sampler. Режим адресации оси V, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerRepeatMode—
pMember

Режим адресации оси V, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Не изменяет сохранённые пиксели или UV геометрии.

SetRepeatWvoid
# SetRepeatW
C#
public void SetRepeatW(RenderingDevice.SamplerRepeatMode pMember);

Сохраняет RepeatW в описании, не меняя уже созданные sampler. Режим адресации оси W, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Для 3D это третья пространственная координата; не индекс слоя массива.

Параметры
ИмяТипПо умолчанию
pMemberRenderingDevice.SamplerRepeatMode—
pMember

Режим адресации оси W, изначально SamplerRepeatMode.ClampToEdge. Repeat повторяет текстуру, MirroredRepeat чередует отражение, ClampToEdge берёт крайний texel, ClampToBorder использует BorderColor. Для 3D это третья пространственная координата; не индекс слоя массива.

SetUnnormalizedUvwvoid
# SetUnnormalizedUvw
C#
public void SetUnnormalizedUvw(bool pMember);

Сохраняет UnnormalizedUvw в описании, не меняя уже созданные sampler. Ненормализованные координаты выборки, изначально false. При false координаты задаются относительно размера текстуры; true использует texel-координаты. Это специальный режим с ограничениями backend и инструкции, а не свободная замена UV. Требования Vulkan приведены во введении.

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

Ненормализованные координаты выборки, изначально false. При false координаты задаются относительно размера текстуры; true использует texel-координаты. Это специальный режим с ограничениями backend и инструкции, а не свободная замена UV. Требования Vulkan приведены во введении.

SetUseAnisotropyvoid
# SetUseAnisotropy
C#
public void SetUseAnisotropy(bool pMember);

Сохраняет UseAnisotropy в описании, не меняя уже созданные sampler. Запрос анизотропной фильтрации, изначально false. В Vulkan включается только при поддержке samplerAnisotropy устройством; одного true недостаточно для гарантии результата. Обычно применяется к поверхностям под острым углом; оценка качества и стоимости требует целевой сцены.

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

Запрос анизотропной фильтрации, изначально false. В Vulkan включается только при поддержке samplerAnisotropy устройством; одного true недостаточно для гарантии результата. Обычно применяется к поверхностям под острым углом; оценка качества и стоимости требует целевой сцены.

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

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

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

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