RDSamplerState

继承: RefCounted < Object

采样器状态(由 RenderingDevice 使用)。

描述

这个对象由 RenderingDevice 使用。

属性

float

anisotropy_max

1.0

SamplerBorderColor

border_color

2

CompareOperator

compare_op

7

bool

enable_compare

false

float

lod_bias

0.0

SamplerFilter

mag_filter

0

float

max_lod

1e+20

SamplerFilter

min_filter

0

float

min_lod

0.0

SamplerFilter

mip_filter

0

SamplerRepeatMode

repeat_u

2

SamplerRepeatMode

repeat_v

2

SamplerRepeatMode

repeat_w

2

bool

unnormalized_uvw

false

bool

use_anisotropy

false


属性说明

float anisotropy_max = 1.0 🔗

  • void set_anisotropy_max(value: float)

  • float get_anisotropy_max()

采样时能够使用的最大各向异性。仅在 use_anisotropytrue 时有效。值越高,倾斜角度下得到的采样越锐利,但性能开销也越大(由于显存带宽的原因)。这个值可能受到使用的图形硬件的限制。大多数图形硬件最多仅支持 16.0

如果 anisotropy_max1.0,则会强制禁用各向异性,即便 use_anisotropytrue


SamplerBorderColor border_color = 2 🔗

对采样器范围外进行采样,并且 repeat_urepeat_vrepeat_w 的模式禁用了重复时,返回的边框颜色。


CompareOperator compare_op = 7 🔗

要使用的比较运算。仅在 enable_comparetrue 时有效。


bool enable_compare = false 🔗

  • void set_enable_compare(value: bool)

  • bool get_enable_compare()

如果为 true,则返回值基于 compare_op 定义的比较运算。这种做法基于硬件,因此比手动在着色器中执行要快。例如,渲染阴影贴图时就会对阴影采样器的深度值进行比较运算。


float lod_bias = 0.0 🔗

  • void set_lod_bias(value: float)

  • float get_lod_bias()

要使用的 mipmap LOD 偏置。正值会让采样器在给定距离处更模糊,而负值会让采样器在给定距离处更锐利(有可能看上去会很颗粒化)。推荐值在 -0.50.0 之间。仅在采样器的 mipmap 可用时有效。


SamplerFilter mag_filter = 0 🔗

采样器的放大过滤器。如果采样的纹素比屏幕像素显示得大,就会使用这个过滤方法。


float max_lod = 1e+20 🔗

  • void set_max_lod(value: float)

  • float get_max_lod()

用于显示的最大 mipmap LOD 偏置(最低分辨率)。仅在采样器有 mipmap 可用时有效。


SamplerFilter min_filter = 0 🔗

采样器的缩小过滤器。如果采样的纹素比屏幕像素显示得小,就会使用这个过滤方法。


float min_lod = 0.0 🔗

  • void set_min_lod(value: float)

  • float get_min_lod()

用于显示的最小 mipmap LOD 偏置(最高分辨率)。仅在采样器有 mipmap 可用时有效。


SamplerFilter mip_filter = 0 🔗

Mipmap 使用的过滤方法。


SamplerRepeatMode repeat_u = 2 🔗

沿着 UV 坐标 U 轴的重复模式。影响采样超出 UV 边界时的返回值。


SamplerRepeatMode repeat_v = 2 🔗

沿着 UV 坐标 V 轴的重复模式。影响采样超出 UV 边界时的返回值。


SamplerRepeatMode repeat_w = 2 🔗

沿着 UV 坐标 W 轴的重复模式。影响采样超出 UV 边界时的返回值。仅对 3D 采样器有效。


bool unnormalized_uvw = false 🔗

  • void set_unnormalized_uvw(value: bool)

  • bool get_unnormalized_uvw()

如果为 true,则纹理将使用范围从 0 到纹理分辨率的坐标进行采样。否则,坐标将被归一化,范围从 0 到 1。


bool use_anisotropy = false 🔗

  • void set_use_anisotropy(value: bool)

  • bool get_use_anisotropy()

如果为 true,则执行各向异性采样。