Struct bevy_pbr::StandardMaterialUniform
source · 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
The StandardMaterialFlags
accessible in the wgsl
shader.
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§
source§impl AsBindGroupShaderType<StandardMaterialUniform> for StandardMaterial
impl AsBindGroupShaderType<StandardMaterialUniform> for StandardMaterial
source§fn as_bind_group_shader_type(
&self,
images: &RenderAssets<Image>
) -> StandardMaterialUniform
fn as_bind_group_shader_type(
&self,
images: &RenderAssets<Image>
) -> StandardMaterialUniform
Return the
T
[ShaderType
] for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist. Read moresource§impl Clone for StandardMaterialUniform
impl Clone for StandardMaterialUniform
source§fn clone(&self) -> StandardMaterialUniform
fn clone(&self) -> StandardMaterialUniform
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl CreateFrom for StandardMaterialUniformwhere
Self: ShaderType<ExtraMetadata = StructMetadata<{ _ }>>,
Vec4: CreateFrom,
Vec4: CreateFrom,
f32: CreateFrom,
f32: CreateFrom,
f32: CreateFrom,
u32: CreateFrom,
f32: CreateFrom,
impl CreateFrom for StandardMaterialUniformwhere
Self: ShaderType<ExtraMetadata = StructMetadata<{ _ }>>,
Vec4: CreateFrom,
Vec4: CreateFrom,
f32: CreateFrom,
f32: CreateFrom,
f32: CreateFrom,
u32: CreateFrom,
f32: CreateFrom,
fn create_from<B: BufferRef>(reader: &mut Reader<B>) -> Self
source§impl Default for StandardMaterialUniform
impl Default for StandardMaterialUniform
source§fn default() -> StandardMaterialUniform
fn default() -> StandardMaterialUniform
Returns the “default value” for a type. Read more
source§impl ReadFrom for StandardMaterialUniformwhere
Self: ShaderType<ExtraMetadata = StructMetadata<{ _ }>>,
Vec4: ReadFrom,
Vec4: ReadFrom,
f32: ReadFrom,
f32: ReadFrom,
f32: ReadFrom,
u32: ReadFrom,
f32: ReadFrom,
impl ReadFrom for StandardMaterialUniformwhere
Self: ShaderType<ExtraMetadata = StructMetadata<{ _ }>>,
Vec4: ReadFrom,
Vec4: ReadFrom,
f32: ReadFrom,
f32: ReadFrom,
f32: ReadFrom,
u32: ReadFrom,
f32: ReadFrom,
source§impl ShaderSize for StandardMaterialUniformwhere
Vec4: ShaderSize,
Vec4: ShaderSize,
f32: ShaderSize,
f32: ShaderSize,
f32: ShaderSize,
u32: ShaderSize,
f32: ShaderSize,
impl ShaderSize for StandardMaterialUniformwhere
Vec4: ShaderSize,
Vec4: ShaderSize,
f32: ShaderSize,
f32: ShaderSize,
f32: ShaderSize,
u32: ShaderSize,
f32: ShaderSize,
§const SHADER_SIZE: NonZeroU64 = Self::METADATA.min_size().0
const SHADER_SIZE: NonZeroU64 = Self::METADATA.min_size().0
Represents WGSL Size (equivalent to [
ShaderType::min_size
])source§impl ShaderType for StandardMaterialUniformwhere
Vec4: ShaderType + ShaderSize,
Vec4: ShaderType + ShaderSize,
f32: ShaderType + ShaderSize,
f32: ShaderType + ShaderSize,
f32: ShaderType + ShaderSize,
u32: ShaderType + ShaderSize,
f32: ShaderType,
impl ShaderType for StandardMaterialUniformwhere
Vec4: ShaderType + ShaderSize,
Vec4: ShaderType + ShaderSize,
f32: ShaderType + ShaderSize,
f32: ShaderType + ShaderSize,
f32: ShaderType + ShaderSize,
u32: ShaderType + ShaderSize,
f32: ShaderType,
source§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
§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 moreAuto Trait Implementations§
impl RefUnwindSafe for StandardMaterialUniform
impl Send for StandardMaterialUniform
impl Sync for StandardMaterialUniform
impl Unpin for StandardMaterialUniform
impl UnwindSafe for StandardMaterialUniform
Blanket Implementations§
source§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> 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§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
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 moresource§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self
using data from the given World