Struct bevy::prelude::StandardMaterial [−]
A material with “standard” properties used in PBR lighting Standard property values with pictures here https://google.github.io/filament/Material%20Properties.pdf
Fields
base_color: Color
Doubles as diffuse albedo for non-metallic, specular for metallic and a mix for everything in between
If used together with a base_color_texture, this is factored into the final base color
as base_color * base_color_texture_value
base_color_texture: Option<Handle<Texture>>
roughness: f32
Linear perceptual roughness, clamped to [0.089, 1.0] in the shader
Defaults to minimum of 0.089
If used together with a roughness/metallic texture, this is factored into the final base color
as roughness * roughness_texture_value
metallic: f32
From [0.0, 1.0], dielectric to pure metallic
If used together with a roughness/metallic texture, this is factored into the final base color
as metallic * metallic_texture_value
metallic_roughness_texture: Option<Handle<Texture>>
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
reflectance: f32
normal_map: Option<Handle<Texture>>
double_sided: bool
occlusion_texture: Option<Handle<Texture>>
emissive: Color
emissive_texture: Option<Handle<Texture>>
unlit: bool
Trait Implementations
impl Debug for StandardMaterial
impl Default for StandardMaterial
pub fn default() -> StandardMaterial
impl From<Color> for StandardMaterial
pub fn from(color: Color) -> StandardMaterial
impl From<Handle<Texture>> for StandardMaterial
pub fn from(texture: Handle<Texture>) -> StandardMaterial
impl RenderResources for StandardMaterial
pub fn render_resources_len(&self) -> usize
pub fn get_render_resource(&self, index: usize) -> Option<&dyn RenderResource>
pub fn get_render_resource_name(&self, index: usize) -> Option<&str>
pub fn get_render_resource_hints(
&self,
index: usize
) -> Option<RenderResourceHints>
&self,
index: usize
) -> Option<RenderResourceHints>
pub fn iter(&self) -> RenderResourceIterator<'_>ⓘNotable traits for RenderResourceIterator<'a>
impl<'a> Iterator for RenderResourceIterator<'a> type Item = &'a (dyn RenderResource + 'a);
Notable traits for RenderResourceIterator<'a>
impl<'a> Iterator for RenderResourceIterator<'a> type Item = &'a (dyn RenderResource + 'a);
impl ShaderDefs for StandardMaterial
pub fn shader_defs_len(&self) -> usize
pub fn get_shader_def(&self, index: usize) -> Option<&str>
pub fn iter_shader_defs(&self) -> ShaderDefIterator<'_>ⓘNotable traits for ShaderDefIterator<'a>
impl<'a> Iterator for ShaderDefIterator<'a> type Item = &'a str;
Notable traits for ShaderDefIterator<'a>
impl<'a> Iterator for ShaderDefIterator<'a> type Item = &'a str;
impl TypeUuid for StandardMaterial
Auto Trait Implementations
impl RefUnwindSafe for StandardMaterial
impl Send for StandardMaterial
impl Sync for StandardMaterial
impl Unpin for StandardMaterial
impl UnwindSafe for StandardMaterial
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
impl<T> Asset for T where
T: TypeUuid + AssetDynamic + TypeUuidDynamic,
T: TypeUuid + AssetDynamic + TypeUuidDynamic,
impl<T> AssetDynamic for T where
T: Send + Sync + 'static + TypeUuidDynamic,
T: Send + Sync + 'static + TypeUuidDynamic,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> Downcast<T> for T
impl<T> DowncastSync for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<T> From<T> for T
[src]
impl<T> FromWorld for T where
T: Default,
T: Default,
pub fn from_world(_world: &mut World) -> T
impl<T> Instrument for T
[src]
pub 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;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub 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;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> TypeUuidDynamic for T where
T: TypeUuid,
T: TypeUuid,
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,