RDSamplerState

继承: RefCounted < Object

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

描述

此对象由RenderingDevice使用。

属性


属性说明

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,则执行各向异性采样。参见anisotropy_max