reckfellENGINE

RDSamplerState

Filtering, addressing and LOD for a RenderingDevice sampler.

On this page
class RDSamplerStateReckfellSharpInherits RefCounted

RDSamplerState describes how a texture is read: filtering, addressing, mip LOD, anisotropy and depth comparison. Holds no pixels and creates no GPU sampler automatically. Pass the descriptor to RenderingDevice.SamplerCreate and retain the returned RID. Later descriptor edits do not reconfigure that sampler: create another and free the old one after use completes.

All three filters default to Nearest, RepeatU/V/W to ClampToEdge, coordinates to normalized, LodBias=MinLod=0 and MaxLod≈1e20. UseAnisotropy and EnableCompare are off; AnisotropyMax=1, CompareOp=Always and BorderColor=FloatOpaqueBlack. ClampToEdge does not use BorderColor: it reads an edge texel. MinLod/MaxLod bound the level; LodBias offsets its calculation. None creates mip images. Set dimensions and levels through RDTextureFormat.

This executed preset targets ordinary RGBA8: linear filtering, edge clamping and the base mip level only. It checks linear-filter support for that specific format and enables neither anisotropy nor 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;
    }
}

Supply a real RenderingDevice and use its valid call context. The main device from RenderingServer.GetRenderingDevice is borrowed: do not Dispose or Free it; use CallOnRenderThread for related work. A local device created by your code has its own RIDs and queue. The example was tested on a separate local device. The caller owns the returned sampler RID: free it through FreeRid on the same device after work completes. Disposing the descriptor does not free the sampler. For a combined RDUniform binding with UniformType.SamplerWithTexture, add the sampler RID first, then the texture RID. The sampler itself assigns no material and starts no draw/dispatch.

UnnormalizedUvw=true needs a special configuration. For Vulkan: MinFilter=MagFilter, MipFilter=Nearest, MinLod=MaxLod=0, RepeatU/V set to ClampToEdge or ClampToBorder, anisotropy and comparison off. Image and shader-instruction restrictions also apply. Check the complete VkSamplerCreateInfo contract. Engine setters do not validate full-configuration compatibility.

For blurry textures, distinguish MagFilter, MinFilter and MipFilter and check the actual mip chain first. For black edges, inspect ClampToBorder, BorderColor and transparent texels before changing lighting. If anisotropy is invisible, UseAnisotropy alone is insufficient: device support, a suitable AnisotropyMax and a relevant scene are required. Avoid recreating a sampler every frame without need.

Installed Windows/Vulkan Forward+ checks covered the exact helper, linear/nearest through compute textureLod, ClampToEdge, Repeat, a white ClampToBorder border, LOD bounds and unchanged created samplers after descriptor edits. The Vulkan loader warning remains. Raster derivatives, min/mag choice by pixel footprint, mip blending, anisotropy, depth comparison, unnormalized sampling, other GPUs/drivers, image quality and FPS were not tested.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

RDSamplerStateConstructor
# RDSamplerState
C#
public RDSamplerState();

Creates a sampler descriptor with nearest filters, ClampToEdge on all axes, LodBias=MinLod=0, MaxLod≈1e20, anisotropy and comparison false, AnisotropyMax=1, CompareOp=Always, BorderColor=FloatOpaqueBlack and normalized coordinates. No GPU sampler exists yet.

Properties15

AnisotropyMaxProperty
# AnisotropyMax
C#
public float AnisotropyMax { get; set; }

Requested maximum anisotropy, initially 1. Relevant to UseAnisotropy; not an MSAA level. Vulkan forwards the value to the driver, so do not assume arbitrary values are automatically clamped. A universal maximum of 16 is not guaranteed.

BorderColorProperty
# BorderColor
C#
public RenderingDevice.SamplerBorderColor BorderColor { get; set; }

Outside-texture color for SamplerRepeatMode.ClampToBorder, initially SamplerBorderColor.FloatOpaqueBlack. ClampToEdge uses an edge texel instead. Selects predefined enum colors, not an arbitrary Color; writes no color into the texture.

CompareOpProperty
# CompareOp
C#
public RenderingDevice.CompareOperator CompareOp { get; set; }

Comparison-sampler operation, initially CompareOperator.Always. Relevant with EnableCompare=true and a compatible instruction/texture. Not the geometry depth test; changes no draw-call ordering.

EnableCompareProperty
# EnableCompare
C#
public bool EnableCompare { get; set; }

Enables comparison sampling, initially false. For a depth/shadow sampler, CompareOp and the sampling instruction reference value determine the comparison result. Creates no shadow map, light or depth data; this is not ordinary color filtering.

LodBiasProperty
# LodBias
C#
public float LodBias { get; set; }

Offset in mip LOD calculation, initially 0. In ordinary sampling a positive bias favors a coarser level and a negative bias a finer one. Changes no mip data and does not replace MinLod/MaxLod; the result depends on the sampling instruction and available levels.

MagFilterProperty
# MagFilter
C#
public RenderingDevice.SamplerFilter MagFilter { get; set; }

Filter when texels are magnified on screen, initially SamplerFilter.Nearest. Linear interpolates neighboring texels; Nearest selects the nearest one. Does not select a mip-level count. Check the filter/format combination with SamplerIsFormatSupportedForFilter.

MaxLodProperty
# MaxLod
C#
public float MaxLod { get; set; }

Upper bound for selected mip LOD, initially about 1e20. A large value creates no levels. MinLod=MaxLod=0 restricts reads to the base level, including in the executed textureLod example. This is not an LOD bias.

MinFilterProperty
# MinFilter
C#
public RenderingDevice.SamplerFilter MinFilter { get; set; }

Filter within a selected mip level during minification, initially SamplerFilter.Nearest. Linear does not replace MipFilter, which controls transitions between levels. Filter support depends on the texture format.

MinLodProperty
# MinLod
C#
public float MinLod { get; set; }

Lower bound for selected mip LOD, initially 0 for the base level. This is a level bound, not LodBias. Raising it restricts access to more detailed levels; the texture must contain the required levels.

MipFilterProperty
# MipFilter
C#
public RenderingDevice.SamplerFilter MipFilter { get; set; }

Selection between mip levels, initially SamplerFilter.Nearest. Linear permits blending neighboring levels. The texture must actually contain created and initialized levels; this field generates none and changes no RDTextureFormat.Mipmaps.

RepeatUProperty
# RepeatU
C#
public RenderingDevice.SamplerRepeatMode RepeatU { get; set; }

Addressing mode for axis U, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

RepeatVProperty
# RepeatV
C#
public RenderingDevice.SamplerRepeatMode RepeatV { get; set; }

Addressing mode for axis V, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

RepeatWProperty
# RepeatW
C#
public RenderingDevice.SamplerRepeatMode RepeatW { get; set; }

Addressing mode for axis W, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. For 3D this is the third spatial coordinate, not an array-layer index.

UnnormalizedUvwProperty
# UnnormalizedUvw
C#
public bool UnnormalizedUvw { get; set; }

Unnormalized sampling coordinates, initially false. With false, coordinates are relative to texture dimensions; true uses texel coordinates. A special mode constrained by the backend and sampling instruction, not an unrestricted UV replacement. See the introduction for Vulkan requirements.

UseAnisotropyProperty
# UseAnisotropy
C#
public bool UseAnisotropy { get; set; }

Anisotropic-filtering request, initially false. Vulkan enables it only when the device supports samplerAnisotropy; true alone guarantees no result. Typically used for oblique surfaces; assessing quality and cost requires a target scene.

Methods30

GetAnisotropyMaxfloat
# GetAnisotropyMax
C#
public float GetAnisotropyMax();

Returns this descriptor’s stored AnisotropyMax, not a GPU query. Requested maximum anisotropy, initially 1. Relevant to UseAnisotropy; not an MSAA level. Vulkan forwards the value to the driver, so do not assume arbitrary values are automatically clamped. A universal maximum of 16 is not guaranteed.

Returns float

Stored AnisotropyMax value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored BorderColor, not a GPU query. Outside-texture color for SamplerRepeatMode.ClampToBorder, initially SamplerBorderColor.FloatOpaqueBlack. ClampToEdge uses an edge texel instead. Selects predefined enum colors, not an arbitrary Color; writes no color into the texture.

Returns RenderingDevice.SamplerBorderColor

Stored BorderColor value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored CompareOp, not a GPU query. Comparison-sampler operation, initially CompareOperator.Always. Relevant with EnableCompare=true and a compatible instruction/texture. Not the geometry depth test; changes no draw-call ordering.

Returns RenderingDevice.CompareOperator

Stored CompareOp value; this getter does not measure actual sampling output.

GetEnableComparebool
# GetEnableCompare
C#
public bool GetEnableCompare();

Returns this descriptor’s stored EnableCompare, not a GPU query. Enables comparison sampling, initially false. For a depth/shadow sampler, CompareOp and the sampling instruction reference value determine the comparison result. Creates no shadow map, light or depth data; this is not ordinary color filtering.

Returns bool

Stored EnableCompare value; this getter does not measure actual sampling output.

GetLodBiasfloat
# GetLodBias
C#
public float GetLodBias();

Returns this descriptor’s stored LodBias, not a GPU query. Offset in mip LOD calculation, initially 0. In ordinary sampling a positive bias favors a coarser level and a negative bias a finer one. Changes no mip data and does not replace MinLod/MaxLod; the result depends on the sampling instruction and available levels.

Returns float

Stored LodBias value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored MagFilter, not a GPU query. Filter when texels are magnified on screen, initially SamplerFilter.Nearest. Linear interpolates neighboring texels; Nearest selects the nearest one. Does not select a mip-level count. Check the filter/format combination with SamplerIsFormatSupportedForFilter.

Returns RenderingDevice.SamplerFilter

Stored MagFilter value; this getter does not measure actual sampling output.

GetMaxLodfloat
# GetMaxLod
C#
public float GetMaxLod();

Returns this descriptor’s stored MaxLod, not a GPU query. Upper bound for selected mip LOD, initially about 1e20. A large value creates no levels. MinLod=MaxLod=0 restricts reads to the base level, including in the executed textureLod example. This is not an LOD bias.

Returns float

Stored MaxLod value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored MinFilter, not a GPU query. Filter within a selected mip level during minification, initially SamplerFilter.Nearest. Linear does not replace MipFilter, which controls transitions between levels. Filter support depends on the texture format.

Returns RenderingDevice.SamplerFilter

Stored MinFilter value; this getter does not measure actual sampling output.

GetMinLodfloat
# GetMinLod
C#
public float GetMinLod();

Returns this descriptor’s stored MinLod, not a GPU query. Lower bound for selected mip LOD, initially 0 for the base level. This is a level bound, not LodBias. Raising it restricts access to more detailed levels; the texture must contain the required levels.

Returns float

Stored MinLod value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored MipFilter, not a GPU query. Selection between mip levels, initially SamplerFilter.Nearest. Linear permits blending neighboring levels. The texture must actually contain created and initialized levels; this field generates none and changes no RDTextureFormat.Mipmaps.

Returns RenderingDevice.SamplerFilter

Stored MipFilter value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored RepeatU, not a GPU query. Addressing mode for axis U, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

Returns RenderingDevice.SamplerRepeatMode

Stored RepeatU value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored RepeatV, not a GPU query. Addressing mode for axis V, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

Returns RenderingDevice.SamplerRepeatMode

Stored RepeatV value; this getter does not measure actual sampling output.

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

Returns this descriptor’s stored RepeatW, not a GPU query. Addressing mode for axis W, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. For 3D this is the third spatial coordinate, not an array-layer index.

Returns RenderingDevice.SamplerRepeatMode

Stored RepeatW value; this getter does not measure actual sampling output.

GetUnnormalizedUvwbool
# GetUnnormalizedUvw
C#
public bool GetUnnormalizedUvw();

Returns this descriptor’s stored UnnormalizedUvw, not a GPU query. Unnormalized sampling coordinates, initially false. With false, coordinates are relative to texture dimensions; true uses texel coordinates. A special mode constrained by the backend and sampling instruction, not an unrestricted UV replacement. See the introduction for Vulkan requirements.

Returns bool

Stored UnnormalizedUvw value; this getter does not measure actual sampling output.

GetUseAnisotropybool
# GetUseAnisotropy
C#
public bool GetUseAnisotropy();

Returns this descriptor’s stored UseAnisotropy, not a GPU query. Anisotropic-filtering request, initially false. Vulkan enables it only when the device supports samplerAnisotropy; true alone guarantees no result. Typically used for oblique surfaces; assessing quality and cost requires a target scene.

Returns bool

Stored UseAnisotropy value; this getter does not measure actual sampling output.

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

Stores AnisotropyMax in the descriptor without changing existing samplers. Requested maximum anisotropy, initially 1. Relevant to UseAnisotropy; not an MSAA level. Vulkan forwards the value to the driver, so do not assume arbitrary values are automatically clamped. A universal maximum of 16 is not guaranteed.

Parameters
NameTypeDefault
pMemberfloat—
pMember

Requested maximum anisotropy, initially 1. Relevant to UseAnisotropy; not an MSAA level. Vulkan forwards the value to the driver, so do not assume arbitrary values are automatically clamped. A universal maximum of 16 is not guaranteed.

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

Stores BorderColor in the descriptor without changing existing samplers. Outside-texture color for SamplerRepeatMode.ClampToBorder, initially SamplerBorderColor.FloatOpaqueBlack. ClampToEdge uses an edge texel instead. Selects predefined enum colors, not an arbitrary Color; writes no color into the texture.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerBorderColor—
pMember

Outside-texture color for SamplerRepeatMode.ClampToBorder, initially SamplerBorderColor.FloatOpaqueBlack. ClampToEdge uses an edge texel instead. Selects predefined enum colors, not an arbitrary Color; writes no color into the texture.

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

Stores CompareOp in the descriptor without changing existing samplers. Comparison-sampler operation, initially CompareOperator.Always. Relevant with EnableCompare=true and a compatible instruction/texture. Not the geometry depth test; changes no draw-call ordering.

Parameters
NameTypeDefault
pMemberRenderingDevice.CompareOperator—
pMember

Comparison-sampler operation, initially CompareOperator.Always. Relevant with EnableCompare=true and a compatible instruction/texture. Not the geometry depth test; changes no draw-call ordering.

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

Stores EnableCompare in the descriptor without changing existing samplers. Enables comparison sampling, initially false. For a depth/shadow sampler, CompareOp and the sampling instruction reference value determine the comparison result. Creates no shadow map, light or depth data; this is not ordinary color filtering.

Parameters
NameTypeDefault
pMemberbool—
pMember

Enables comparison sampling, initially false. For a depth/shadow sampler, CompareOp and the sampling instruction reference value determine the comparison result. Creates no shadow map, light or depth data; this is not ordinary color filtering.

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

Stores LodBias in the descriptor without changing existing samplers. Offset in mip LOD calculation, initially 0. In ordinary sampling a positive bias favors a coarser level and a negative bias a finer one. Changes no mip data and does not replace MinLod/MaxLod; the result depends on the sampling instruction and available levels.

Parameters
NameTypeDefault
pMemberfloat—
pMember

Offset in mip LOD calculation, initially 0. In ordinary sampling a positive bias favors a coarser level and a negative bias a finer one. Changes no mip data and does not replace MinLod/MaxLod; the result depends on the sampling instruction and available levels.

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

Stores MagFilter in the descriptor without changing existing samplers. Filter when texels are magnified on screen, initially SamplerFilter.Nearest. Linear interpolates neighboring texels; Nearest selects the nearest one. Does not select a mip-level count. Check the filter/format combination with SamplerIsFormatSupportedForFilter.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerFilter—
pMember

Filter when texels are magnified on screen, initially SamplerFilter.Nearest. Linear interpolates neighboring texels; Nearest selects the nearest one. Does not select a mip-level count. Check the filter/format combination with SamplerIsFormatSupportedForFilter.

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

Stores MaxLod in the descriptor without changing existing samplers. Upper bound for selected mip LOD, initially about 1e20. A large value creates no levels. MinLod=MaxLod=0 restricts reads to the base level, including in the executed textureLod example. This is not an LOD bias.

Parameters
NameTypeDefault
pMemberfloat—
pMember

Upper bound for selected mip LOD, initially about 1e20. A large value creates no levels. MinLod=MaxLod=0 restricts reads to the base level, including in the executed textureLod example. This is not an LOD bias.

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

Stores MinFilter in the descriptor without changing existing samplers. Filter within a selected mip level during minification, initially SamplerFilter.Nearest. Linear does not replace MipFilter, which controls transitions between levels. Filter support depends on the texture format.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerFilter—
pMember

Filter within a selected mip level during minification, initially SamplerFilter.Nearest. Linear does not replace MipFilter, which controls transitions between levels. Filter support depends on the texture format.

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

Stores MinLod in the descriptor without changing existing samplers. Lower bound for selected mip LOD, initially 0 for the base level. This is a level bound, not LodBias. Raising it restricts access to more detailed levels; the texture must contain the required levels.

Parameters
NameTypeDefault
pMemberfloat—
pMember

Lower bound for selected mip LOD, initially 0 for the base level. This is a level bound, not LodBias. Raising it restricts access to more detailed levels; the texture must contain the required levels.

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

Stores MipFilter in the descriptor without changing existing samplers. Selection between mip levels, initially SamplerFilter.Nearest. Linear permits blending neighboring levels. The texture must actually contain created and initialized levels; this field generates none and changes no RDTextureFormat.Mipmaps.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerFilter—
pMember

Selection between mip levels, initially SamplerFilter.Nearest. Linear permits blending neighboring levels. The texture must actually contain created and initialized levels; this field generates none and changes no RDTextureFormat.Mipmaps.

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

Stores RepeatU in the descriptor without changing existing samplers. Addressing mode for axis U, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerRepeatMode—
pMember

Addressing mode for axis U, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

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

Stores RepeatV in the descriptor without changing existing samplers. Addressing mode for axis V, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerRepeatMode—
pMember

Addressing mode for axis V, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. Changes neither stored pixels nor geometry UVs.

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

Stores RepeatW in the descriptor without changing existing samplers. Addressing mode for axis W, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. For 3D this is the third spatial coordinate, not an array-layer index.

Parameters
NameTypeDefault
pMemberRenderingDevice.SamplerRepeatMode—
pMember

Addressing mode for axis W, initially SamplerRepeatMode.ClampToEdge. Repeat tiles, MirroredRepeat alternates reflection, ClampToEdge uses an edge texel, and ClampToBorder uses BorderColor. For 3D this is the third spatial coordinate, not an array-layer index.

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

Stores UnnormalizedUvw in the descriptor without changing existing samplers. Unnormalized sampling coordinates, initially false. With false, coordinates are relative to texture dimensions; true uses texel coordinates. A special mode constrained by the backend and sampling instruction, not an unrestricted UV replacement. See the introduction for Vulkan requirements.

Parameters
NameTypeDefault
pMemberbool—
pMember

Unnormalized sampling coordinates, initially false. With false, coordinates are relative to texture dimensions; true uses texel coordinates. A special mode constrained by the backend and sampling instruction, not an unrestricted UV replacement. See the introduction for Vulkan requirements.

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

Stores UseAnisotropy in the descriptor without changing existing samplers. Anisotropic-filtering request, initially false. Vulkan enables it only when the device supports samplerAnisotropy; true alone guarantees no result. Typically used for oblique surfaces; assessing quality and cost requires a target scene.

Parameters
NameTypeDefault
pMemberbool—
pMember

Anisotropic-filtering request, initially false. Vulkan enables it only when the device supports samplerAnisotropy; true alone guarantees no result. Typically used for oblique surfaces; assessing quality and cost requires a target scene.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.