pub struct StandardMaterialFlags(/* private fields */);
Expand description
Bitflags info about the material a shader is currently rendering.
This is accessible in the shader in the StandardMaterialUniform
Implementations§
Source§impl StandardMaterialFlags
impl StandardMaterialFlags
pub const BASE_COLOR_TEXTURE: StandardMaterialFlags
pub const EMISSIVE_TEXTURE: StandardMaterialFlags
pub const METALLIC_ROUGHNESS_TEXTURE: StandardMaterialFlags
pub const OCCLUSION_TEXTURE: StandardMaterialFlags
pub const DOUBLE_SIDED: StandardMaterialFlags
pub const UNLIT: StandardMaterialFlags
pub const TWO_COMPONENT_NORMAL_MAP: StandardMaterialFlags
pub const FLIP_NORMAL_MAP_Y: StandardMaterialFlags
pub const FOG_ENABLED: StandardMaterialFlags
pub const DEPTH_MAP: StandardMaterialFlags
pub const SPECULAR_TRANSMISSION_TEXTURE: StandardMaterialFlags
pub const THICKNESS_TEXTURE: StandardMaterialFlags
pub const DIFFUSE_TRANSMISSION_TEXTURE: StandardMaterialFlags
pub const ATTENUATION_ENABLED: StandardMaterialFlags
pub const CLEARCOAT_TEXTURE: StandardMaterialFlags
pub const CLEARCOAT_ROUGHNESS_TEXTURE: StandardMaterialFlags
pub const CLEARCOAT_NORMAL_TEXTURE: StandardMaterialFlags
pub const ANISOTROPY_TEXTURE: StandardMaterialFlags
pub const ALPHA_MODE_RESERVED_BITS: StandardMaterialFlags
pub const ALPHA_MODE_OPAQUE: StandardMaterialFlags
pub const ALPHA_MODE_MASK: StandardMaterialFlags
pub const ALPHA_MODE_BLEND: StandardMaterialFlags
pub const ALPHA_MODE_PREMULTIPLIED: StandardMaterialFlags
pub const ALPHA_MODE_ADD: StandardMaterialFlags
pub const ALPHA_MODE_MULTIPLY: StandardMaterialFlags
pub const ALPHA_MODE_ALPHA_TO_COVERAGE: StandardMaterialFlags
pub const NONE: StandardMaterialFlags
pub const UNINITIALIZED: StandardMaterialFlags
Source§impl StandardMaterialFlags
impl StandardMaterialFlags
Sourcepub const fn empty() -> StandardMaterialFlags
pub const fn empty() -> StandardMaterialFlags
Get a flags value with all bits unset.
Sourcepub const fn all() -> StandardMaterialFlags
pub const fn all() -> StandardMaterialFlags
Get a flags value with all known bits set.
Sourcepub const fn bits(&self) -> u32
pub const fn bits(&self) -> u32
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
Sourcepub const fn from_bits(bits: u32) -> Option<StandardMaterialFlags>
pub const fn from_bits(bits: u32) -> Option<StandardMaterialFlags>
Convert from a bits value.
This method will return None
if any unknown bits are set.
Sourcepub const fn from_bits_truncate(bits: u32) -> StandardMaterialFlags
pub const fn from_bits_truncate(bits: u32) -> StandardMaterialFlags
Convert from a bits value, unsetting any unknown bits.
Sourcepub const fn from_bits_retain(bits: u32) -> StandardMaterialFlags
pub const fn from_bits_retain(bits: u32) -> StandardMaterialFlags
Convert from a bits value exactly.
Sourcepub fn from_name(name: &str) -> Option<StandardMaterialFlags>
pub fn from_name(name: &str) -> Option<StandardMaterialFlags>
Get a flags value with the bits of a flag with the given name set.
This method will return None
if name
is empty or doesn’t
correspond to any named flag.
Sourcepub const fn intersects(&self, other: StandardMaterialFlags) -> bool
pub const fn intersects(&self, other: StandardMaterialFlags) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
Sourcepub const fn contains(&self, other: StandardMaterialFlags) -> bool
pub const fn contains(&self, other: StandardMaterialFlags) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
Sourcepub fn insert(&mut self, other: StandardMaterialFlags)
pub fn insert(&mut self, other: StandardMaterialFlags)
The bitwise or (|
) of the bits in two flags values.
Sourcepub fn remove(&mut self, other: StandardMaterialFlags)
pub fn remove(&mut self, other: StandardMaterialFlags)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
remove
won’t truncate other
, but the !
operator will.
Sourcepub fn toggle(&mut self, other: StandardMaterialFlags)
pub fn toggle(&mut self, other: StandardMaterialFlags)
The bitwise exclusive-or (^
) of the bits in two flags values.
Sourcepub fn set(&mut self, other: StandardMaterialFlags, value: bool)
pub fn set(&mut self, other: StandardMaterialFlags, value: bool)
Call insert
when value
is true
or remove
when value
is false
.
Sourcepub const fn intersection(
self,
other: StandardMaterialFlags,
) -> StandardMaterialFlags
pub const fn intersection( self, other: StandardMaterialFlags, ) -> StandardMaterialFlags
The bitwise and (&
) of the bits in two flags values.
Sourcepub const fn union(self, other: StandardMaterialFlags) -> StandardMaterialFlags
pub const fn union(self, other: StandardMaterialFlags) -> StandardMaterialFlags
The bitwise or (|
) of the bits in two flags values.
Sourcepub const fn difference(
self,
other: StandardMaterialFlags,
) -> StandardMaterialFlags
pub const fn difference( self, other: StandardMaterialFlags, ) -> StandardMaterialFlags
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
Sourcepub const fn symmetric_difference(
self,
other: StandardMaterialFlags,
) -> StandardMaterialFlags
pub const fn symmetric_difference( self, other: StandardMaterialFlags, ) -> StandardMaterialFlags
The bitwise exclusive-or (^
) of the bits in two flags values.
Sourcepub const fn complement(self) -> StandardMaterialFlags
pub const fn complement(self) -> StandardMaterialFlags
The bitwise negation (!
) of the bits in a flags value, truncating the result.
Source§impl StandardMaterialFlags
impl StandardMaterialFlags
Sourcepub const fn iter(&self) -> Iter<StandardMaterialFlags> ⓘ
pub const fn iter(&self) -> Iter<StandardMaterialFlags> ⓘ
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
Sourcepub const fn iter_names(&self) -> IterNames<StandardMaterialFlags> ⓘ
pub const fn iter_names(&self) -> IterNames<StandardMaterialFlags> ⓘ
Yield a set of contained named flags values.
This method is like iter
, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
Source§impl Binary for StandardMaterialFlags
impl Binary for StandardMaterialFlags
Source§impl BitAnd for StandardMaterialFlags
impl BitAnd for StandardMaterialFlags
Source§fn bitand(self, other: StandardMaterialFlags) -> StandardMaterialFlags
fn bitand(self, other: StandardMaterialFlags) -> StandardMaterialFlags
The bitwise and (&
) of the bits in two flags values.
Source§type Output = StandardMaterialFlags
type Output = StandardMaterialFlags
&
operator.Source§impl BitAndAssign for StandardMaterialFlags
impl BitAndAssign for StandardMaterialFlags
Source§fn bitand_assign(&mut self, other: StandardMaterialFlags)
fn bitand_assign(&mut self, other: StandardMaterialFlags)
The bitwise and (&
) of the bits in two flags values.
Source§impl BitOr for StandardMaterialFlags
impl BitOr for StandardMaterialFlags
Source§fn bitor(self, other: StandardMaterialFlags) -> StandardMaterialFlags
fn bitor(self, other: StandardMaterialFlags) -> StandardMaterialFlags
The bitwise or (|
) of the bits in two flags values.
Source§type Output = StandardMaterialFlags
type Output = StandardMaterialFlags
|
operator.Source§impl BitOrAssign for StandardMaterialFlags
impl BitOrAssign for StandardMaterialFlags
Source§fn bitor_assign(&mut self, other: StandardMaterialFlags)
fn bitor_assign(&mut self, other: StandardMaterialFlags)
The bitwise or (|
) of the bits in two flags values.
Source§impl BitXor for StandardMaterialFlags
impl BitXor for StandardMaterialFlags
Source§fn bitxor(self, other: StandardMaterialFlags) -> StandardMaterialFlags
fn bitxor(self, other: StandardMaterialFlags) -> StandardMaterialFlags
The bitwise exclusive-or (^
) of the bits in two flags values.
Source§type Output = StandardMaterialFlags
type Output = StandardMaterialFlags
^
operator.Source§impl BitXorAssign for StandardMaterialFlags
impl BitXorAssign for StandardMaterialFlags
Source§fn bitxor_assign(&mut self, other: StandardMaterialFlags)
fn bitxor_assign(&mut self, other: StandardMaterialFlags)
The bitwise exclusive-or (^
) of the bits in two flags values.
Source§impl Extend<StandardMaterialFlags> for StandardMaterialFlags
impl Extend<StandardMaterialFlags> for StandardMaterialFlags
Source§fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = StandardMaterialFlags>,
fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = StandardMaterialFlags>,
The bitwise or (|
) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Source§impl Flags for StandardMaterialFlags
impl Flags for StandardMaterialFlags
Source§const FLAGS: &'static [Flag<StandardMaterialFlags>]
const FLAGS: &'static [Flag<StandardMaterialFlags>]
Source§fn from_bits_retain(bits: u32) -> StandardMaterialFlags
fn from_bits_retain(bits: u32) -> StandardMaterialFlags
Source§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true
if any unknown bits are set.Source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
Source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
Source§fn iter_names(&self) -> IterNames<Self> ⓘ
fn iter_names(&self) -> IterNames<Self> ⓘ
Source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|
) of the bits in two flags values.Source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!
). Read moreSource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^
) of the bits in two flags values.Source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&
) of the bits in two flags values.Source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!
). Read moreSource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^
) of the bits in two flags values.Source§fn complement(self) -> Self
fn complement(self) -> Self
!
) of the bits in a flags value, truncating the result.Source§impl FromIterator<StandardMaterialFlags> for StandardMaterialFlags
impl FromIterator<StandardMaterialFlags> for StandardMaterialFlags
Source§fn from_iter<T>(iterator: T) -> StandardMaterialFlagswhere
T: IntoIterator<Item = StandardMaterialFlags>,
fn from_iter<T>(iterator: T) -> StandardMaterialFlagswhere
T: IntoIterator<Item = StandardMaterialFlags>,
The bitwise or (|
) of the bits in each flags value.
Source§impl IntoIterator for StandardMaterialFlags
impl IntoIterator for StandardMaterialFlags
Source§type Item = StandardMaterialFlags
type Item = StandardMaterialFlags
Source§type IntoIter = Iter<StandardMaterialFlags>
type IntoIter = Iter<StandardMaterialFlags>
Source§fn into_iter(self) -> <StandardMaterialFlags as IntoIterator>::IntoIter
fn into_iter(self) -> <StandardMaterialFlags as IntoIterator>::IntoIter
Source§impl LowerHex for StandardMaterialFlags
impl LowerHex for StandardMaterialFlags
Source§impl Not for StandardMaterialFlags
impl Not for StandardMaterialFlags
Source§fn not(self) -> StandardMaterialFlags
fn not(self) -> StandardMaterialFlags
The bitwise negation (!
) of the bits in a flags value, truncating the result.
Source§type Output = StandardMaterialFlags
type Output = StandardMaterialFlags
!
operator.Source§impl Octal for StandardMaterialFlags
impl Octal for StandardMaterialFlags
Source§impl Sub for StandardMaterialFlags
impl Sub for StandardMaterialFlags
Source§fn sub(self, other: StandardMaterialFlags) -> StandardMaterialFlags
fn sub(self, other: StandardMaterialFlags) -> StandardMaterialFlags
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
Source§type Output = StandardMaterialFlags
type Output = StandardMaterialFlags
-
operator.Source§impl SubAssign for StandardMaterialFlags
impl SubAssign for StandardMaterialFlags
Source§fn sub_assign(&mut self, other: StandardMaterialFlags)
fn sub_assign(&mut self, other: StandardMaterialFlags)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
Auto Trait Implementations§
impl Freeze for StandardMaterialFlags
impl RefUnwindSafe for StandardMaterialFlags
impl Send for StandardMaterialFlags
impl Sync for StandardMaterialFlags
impl Unpin for StandardMaterialFlags
impl UnwindSafe for StandardMaterialFlags
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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
.Source§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
.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more