pub struct PbrMaterial {Show 14 fields
pub base_color: [f32; 4],
pub emissive: [f32; 3],
pub roughness: f32,
pub metallic: f32,
pub base_color_tex: Option<u32>,
pub normal_tex: Option<u32>,
pub emissive_tex: Option<u32>,
pub roughness_metalness_tex: Option<u32>,
pub occlusion_tex: Option<u32>,
pub occlusion_strength: f32,
pub normal_scale: f32,
pub emissive_strength: f32,
pub alpha_mode: AlphaMode,
pub double_sided: bool,
}Expand description
PBR lit material descriptor.
Texture references are optional u32 handles resolved by the GPU store.
Fields§
§base_color: [f32; 4]Base color (RGBA linear).
emissive: [f32; 3]Emissive color (RGB linear).
roughness: f32Roughness [0..1]. 0 = mirror, 1 = diffuse.
metallic: f32Metallic [0..1]. 0 = dielectric, 1 = metal.
base_color_tex: Option<u32>Optional base color texture handle.
normal_tex: Option<u32>Optional normal map texture handle.
emissive_tex: Option<u32>Optional emissive texture handle.
roughness_metalness_tex: Option<u32>Optional roughness-metalness texture handle (R=metallic, G=roughness, glTF convention).
occlusion_tex: Option<u32>Optional occlusion texture handle.
occlusion_strength: f32Occlusion strength [0..1]. 1.0 = full effect.
normal_scale: f32Normal map scale factor. 1.0 = unmodified normals.
emissive_strength: f32Emissive strength multiplier. 1.0 = use emissive color as-is.
alpha_mode: AlphaModeAlpha blending mode.
double_sided: boolRender both front and back faces.
Implementations§
Source§impl PbrMaterial
impl PbrMaterial
pub fn painted_metal() -> Self
pub fn brushed_steel() -> Self
pub fn matte_plastic() -> Self
pub fn glossy_ceramic() -> Self
pub fn rough_wood() -> Self
pub fn polished_marble() -> Self
pub fn wet_stone() -> Self
pub fn gold() -> Self
pub fn copper() -> Self
pub fn rubber() -> Self
pub fn glass() -> Self
pub fn fabric() -> Self
pub fn skin() -> Self
pub fn emissive_panel() -> Self
Trait Implementations§
Source§impl Clone for PbrMaterial
impl Clone for PbrMaterial
Source§fn clone(&self) -> PbrMaterial
fn clone(&self) -> PbrMaterial
Returns a duplicate 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 Debug for PbrMaterial
impl Debug for PbrMaterial
Source§impl Default for PbrMaterial
impl Default for PbrMaterial
Source§impl<'de> Deserialize<'de> for PbrMaterial
impl<'de> Deserialize<'de> for PbrMaterial
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PbrMaterial
impl PartialEq for PbrMaterial
Source§impl Serialize for PbrMaterial
impl Serialize for PbrMaterial
impl StructuralPartialEq for PbrMaterial
Auto Trait Implementations§
impl Freeze for PbrMaterial
impl RefUnwindSafe for PbrMaterial
impl Send for PbrMaterial
impl Sync for PbrMaterial
impl Unpin for PbrMaterial
impl UnsafeUnpin for PbrMaterial
impl UnwindSafe for PbrMaterial
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
Mutably borrows from an owned value. Read more