Struct bevy::pbr::StandardMaterialUniform
[−]pub struct StandardMaterialUniform {
pub base_color: Vec4,
pub emissive: Vec4,
pub roughness: f32,
pub metallic: f32,
pub reflectance: f32,
pub flags: u32,
pub alpha_cutoff: f32,
}
Expand description
The GPU representation of the uniform data of a StandardMaterial
.
Fields
base_color: Vec4
Doubles as diffuse albedo for non-metallic, specular for metallic and a mix for everything in between.
emissive: Vec4
roughness: f32
Linear perceptual roughness, clamped to [0.089, 1.0] in the shader Defaults to minimum of 0.089
metallic: f32
From [0.0, 1.0], dielectric to pure metallic
reflectance: f32
Specular intensity for non-metals on a linear scale of [0.0, 1.0] defaults to 0.5 which is mapped to 4% reflectance in the shader
flags: u32
alpha_cutoff: f32
When the alpha mode mask flag is set, any base color alpha above this cutoff means fully opaque, and any below means fully transparent.
Trait Implementations
impl AsBindGroupShaderType<StandardMaterialUniform> for StandardMaterial
impl AsBindGroupShaderType<StandardMaterialUniform> for StandardMaterial
fn as_bind_group_shader_type(
&self,
images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> StandardMaterialUniform
fn as_bind_group_shader_type(
&self,
images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> StandardMaterialUniform
Return the T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist. Read more
impl Clone for StandardMaterialUniform
impl Clone for StandardMaterialUniform
fn clone(&self) -> StandardMaterialUniform
fn clone(&self) -> StandardMaterialUniform
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl CreateFrom for StandardMaterialUniform where
StandardMaterialUniform: ShaderType,
Vec4: CreateFrom,
f32: CreateFrom,
u32: CreateFrom,
<StandardMaterialUniform as ShaderType>::ExtraMetadata == StructMetadata<7>,
impl CreateFrom for StandardMaterialUniform where
StandardMaterialUniform: ShaderType,
Vec4: CreateFrom,
f32: CreateFrom,
u32: CreateFrom,
<StandardMaterialUniform as ShaderType>::ExtraMetadata == StructMetadata<7>,
fn create_from<B>(reader: &mut Reader<B>) -> StandardMaterialUniform where
B: BufferRef,
impl Default for StandardMaterialUniform
impl Default for StandardMaterialUniform
fn default() -> StandardMaterialUniform
fn default() -> StandardMaterialUniform
Returns the “default value” for a type. Read more
impl ReadFrom for StandardMaterialUniform where
StandardMaterialUniform: ShaderType,
Vec4: ReadFrom,
f32: ReadFrom,
u32: ReadFrom,
<StandardMaterialUniform as ShaderType>::ExtraMetadata == StructMetadata<7>,
impl ReadFrom for StandardMaterialUniform where
StandardMaterialUniform: ShaderType,
Vec4: ReadFrom,
f32: ReadFrom,
u32: ReadFrom,
<StandardMaterialUniform as ShaderType>::ExtraMetadata == StructMetadata<7>,
impl ShaderSize for StandardMaterialUniform where
Vec4: ShaderSize,
f32: ShaderSize,
u32: ShaderSize,
impl ShaderSize for StandardMaterialUniform where
Vec4: ShaderSize,
f32: ShaderSize,
u32: ShaderSize,
const SHADER_SIZE: NonZeroU64 =
const SHADER_SIZE: NonZeroU64 =
Represents WGSL Size (equivalent to ShaderType::min_size
)
impl ShaderType for StandardMaterialUniform where
Vec4: ShaderType,
Vec4: ShaderSize,
f32: ShaderType,
f32: ShaderSize,
u32: ShaderType,
u32: ShaderSize,
impl ShaderType for StandardMaterialUniform where
Vec4: ShaderType,
Vec4: ShaderSize,
f32: ShaderType,
f32: ShaderSize,
u32: ShaderType,
u32: ShaderSize,
fn size(&self) -> NonZeroU64
fn size(&self) -> NonZeroU64
Returns the size of Self
at runtime Read more
fn min_size() -> NonZeroU64
fn min_size() -> NonZeroU64
Represents the minimum size of Self
(equivalent to GPUBufferBindingLayout.minBindingSize) Read more
fn assert_uniform_compat()
fn assert_uniform_compat()
Asserts that Self
meets the requirements of the
uniform address space restrictions on stored values and the
uniform address space layout constraints Read more
impl WriteInto for StandardMaterialUniform where
StandardMaterialUniform: ShaderType,
Vec4: WriteInto,
f32: WriteInto,
u32: WriteInto,
<StandardMaterialUniform as ShaderType>::ExtraMetadata == StructMetadata<7>,
impl WriteInto for StandardMaterialUniform where
StandardMaterialUniform: ShaderType,
Vec4: WriteInto,
f32: WriteInto,
u32: WriteInto,
<StandardMaterialUniform as ShaderType>::ExtraMetadata == StructMetadata<7>,
fn write_into<B>(&self, writer: &mut Writer<B>) where
B: BufferMut,
Auto Trait Implementations
impl RefUnwindSafe for StandardMaterialUniform
impl Send for StandardMaterialUniform
impl Sync for StandardMaterialUniform
impl Unpin for StandardMaterialUniform
impl UnwindSafe for StandardMaterialUniform
Blanket Implementations
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
Return the T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist. Read more
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert 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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> FromWorld for T where
T: Default,
impl<T> FromWorld for T where
T: Default,
fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using data from the given World
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more