Struct screen_13::driver::shader::SamplerInfo
source · #[non_exhaustive]pub struct SamplerInfo {Show 17 fields
pub flags: SamplerCreateFlags,
pub mag_filter: Filter,
pub min_filter: Filter,
pub mipmap_mode: SamplerMipmapMode,
pub address_mode_u: SamplerAddressMode,
pub address_mode_v: SamplerAddressMode,
pub address_mode_w: SamplerAddressMode,
pub mip_lod_bias: OrderedFloat<f32>,
pub anisotropy_enable: bool,
pub max_anisotropy: OrderedFloat<f32>,
pub compare_enable: bool,
pub compare_op: CompareOp,
pub min_lod: OrderedFloat<f32>,
pub max_lod: OrderedFloat<f32>,
pub border_color: BorderColor,
pub unnormalized_coordinates: bool,
pub reduction_mode: SamplerReductionMode,
}
Expand description
Information used to create a vk::Sampler
instance.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.flags: SamplerCreateFlags
Bitmask specifying additional parameters of a sampler.
mag_filter: Filter
Specify the magnification filter to apply to texture lookups.
The default value is vk::Filter::NEAREST
min_filter: Filter
Specify the minification filter to apply to texture lookups.
The default value is vk::Filter::NEAREST
mipmap_mode: SamplerMipmapMode
A value specifying the mipmap filter to apply to lookups.
The default value is vk::SamplerMipmapMode::NEAREST
address_mode_u: SamplerAddressMode
A value specifying the addressing mode for U coordinates outside [0, 1)
.
The default value is vk::SamplerAddressMode::REPEAT
address_mode_v: SamplerAddressMode
A value specifying the addressing mode for V coordinates outside [0, 1)
.
The default value is vk::SamplerAddressMode::REPEAT
address_mode_w: SamplerAddressMode
A value specifying the addressing mode for W coordinates outside [0, 1)
.
The default value is vk::SamplerAddressMode::REPEAT
mip_lod_bias: OrderedFloat<f32>
The bias to be added to mipmap LOD calculation and bias provided by image sampling functions in SPIR-V, as described in the LOD Operation section.
anisotropy_enable: bool
Enables anisotropic filtering, as described in the Texel Anisotropic Filtering section
max_anisotropy: OrderedFloat<f32>
The anisotropy value clamp used by the sampler when anisotropy_enable
is true
.
If anisotropy_enable
is false
, max_anisotropy is ignored.
compare_enable: bool
Enables comparison against a reference value during lookups.
compare_op: CompareOp
Specifies the comparison operator to apply to fetched data before filtering as described in the Depth Compare Operation section.
min_lod: OrderedFloat<f32>
Used to clamp the minimum of the computed LOD value.
max_lod: OrderedFloat<f32>
Used to clamp the maximum of the computed LOD value.
To avoid clamping the maximum value, set maxLod to the constant vk::LOD_CLAMP_NONE
.
border_color: BorderColor
Secifies the predefined border color to use.
The default value is vk::BorderColor::FLOAT_TRANSPARENT_BLACK
unnormalized_coordinates: bool
Controls whether to use unnormalized or normalized texel coordinates to address texels of the image.
When set to true
, the range of the image coordinates used to lookup the texel is in the
range of zero to the image size in each dimension.
When set to false
the range of image coordinates is zero to one.
See requirements.
reduction_mode: SamplerReductionMode
Specifies sampler reduction mode.
Setting magnification filter (mag_filter
) to vk::Filter::NEAREST
disables sampler reduction mode.
The default value is vk::SamplerReductionMode::WEIGHTED_AVERAGE
See requirements.
Implementations§
source§impl SamplerInfo
impl SamplerInfo
sourcepub const LINEAR: SamplerInfoBuilder = _
pub const LINEAR: SamplerInfoBuilder = _
Default sampler information with mag_filter
, min_filter
and mipmap_mode
set to linear.
sourcepub const NEAREST: SamplerInfoBuilder = _
pub const NEAREST: SamplerInfoBuilder = _
Default sampler information with mag_filter
, min_filter
and mipmap_mode
set to
nearest.
sourcepub fn to_builder(self) -> SamplerInfoBuilder
pub fn to_builder(self) -> SamplerInfoBuilder
Converts a SamplerInfo
into a SamplerInfoBuilder
.
Trait Implementations§
source§impl Clone for SamplerInfo
impl Clone for SamplerInfo
source§fn clone(&self) -> SamplerInfo
fn clone(&self) -> SamplerInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SamplerInfo
impl Debug for SamplerInfo
source§impl Default for SamplerInfo
impl Default for SamplerInfo
source§impl From<SamplerInfoBuilder> for SamplerInfo
impl From<SamplerInfoBuilder> for SamplerInfo
source§fn from(info: SamplerInfoBuilder) -> Self
fn from(info: SamplerInfoBuilder) -> Self
source§impl Hash for SamplerInfo
impl Hash for SamplerInfo
source§impl PartialEq for SamplerInfo
impl PartialEq for SamplerInfo
source§fn eq(&self, other: &SamplerInfo) -> bool
fn eq(&self, other: &SamplerInfo) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for SamplerInfo
impl Eq for SamplerInfo
impl StructuralPartialEq for SamplerInfo
Auto Trait Implementations§
impl RefUnwindSafe for SamplerInfo
impl Send for SamplerInfo
impl Sync for SamplerInfo
impl Unpin for SamplerInfo
impl UnwindSafe for SamplerInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.