pub struct ORMMaterial {
    pub metallic: f32,
    pub roughness: f32,
    pub metallic_roughness_texture: Option<Texture2DRef>,
    pub occlusion_strength: f32,
    pub occlusion_texture: Option<Texture2DRef>,
    pub render_states: RenderStates,
}
Expand description

Render the object with colors that reflect its ORM (occlusion, roughness and metallic) values which primarily is used for debug purposes. Occlusion is red, roughness green and metallic blue.

Fields§

§metallic: f32

A value in the range [0..1] specifying how metallic the material is.

§roughness: f32

A value in the range [0..1] specifying how rough the material surface is.

§metallic_roughness_texture: Option<Texture2DRef>

Texture containing the metallic and roughness parameters which are multiplied with the Self::metallic and Self::roughness values in the shader. The metallic values are sampled from the blue channel and the roughness from the green channel.

§occlusion_strength: f32

A scalar multiplier controlling the amount of occlusion applied from the Self::occlusion_texture. A value of 0.0 means no occlusion. A value of 1.0 means full occlusion.

§occlusion_texture: Option<Texture2DRef>

An occlusion map. Higher values indicate areas that should receive full indirect lighting and lower values indicate no indirect lighting. The occlusion values are sampled from the red channel.

§render_states: RenderStates

Render states.

Implementations§

source§

impl ORMMaterial

source

pub fn new(context: &Context, cpu_material: &CpuMaterial) -> Self

Constructs a new ORM material from a CpuMaterial where only relevant information is used.

source

pub fn from_physical_material(physical_material: &PhysicalMaterial) -> Self

Creates a ORM material from a PhysicalMaterial.

Trait Implementations§

source§

impl Clone for ORMMaterial

source§

fn clone(&self) -> ORMMaterial

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for ORMMaterial

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl FromCpuMaterial for ORMMaterial

source§

fn from_cpu_material(context: &Context, cpu_material: &CpuMaterial) -> Self

Creates a new material that can be used for rendering from a CpuMaterial.
source§

impl Material for ORMMaterial

source§

fn id(&self) -> u16

Returns a unique ID for each variation of the shader source returned from Material::fragment_shader_source. Read more
source§

fn fragment_shader_source(&self, _lights: &[&dyn Light]) -> String

Returns the fragment shader source for this material.
source§

fn fragment_attributes(&self) -> FragmentAttributes

Returns a FragmentAttributes struct that describes which fragment attributes, ie. the input from the vertex shader, are required for rendering with this material.
source§

fn use_uniforms( &self, program: &Program, _camera: &Camera, _lights: &[&dyn Light] )

Sends the uniform data needed for this material to the fragment shader.
source§

fn render_states(&self) -> RenderStates

Returns the render states needed to render with this material.
source§

fn material_type(&self) -> MaterialType

Returns the type of material.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.