pub struct ORMMaterial {
pub metallic: f32,
pub roughness: f32,
pub metallic_roughness_texture: Option<Rc<Texture2D>>,
pub occlusion_strength: f32,
pub occlusion_texture: Option<Rc<Texture2D>>,
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: f32A value in the range [0..1] specifying how metallic the material is.
roughness: f32A value in the range [0..1] specifying how rough the material surface is.
metallic_roughness_texture: Option<Rc<Texture2D>>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: f32A 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<Rc<Texture2D>>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: RenderStatesRender states.
Implementations
sourceimpl ORMMaterial
impl ORMMaterial
sourcepub fn new(context: &Context, cpu_material: &CpuMaterial) -> ThreeDResult<Self>
pub fn new(context: &Context, cpu_material: &CpuMaterial) -> ThreeDResult<Self>
Constructs a new ORM material from a CpuMaterial where only relevant information is used.
sourcepub fn from_physical_material(physical_material: &PhysicalMaterial) -> Self
pub fn from_physical_material(physical_material: &PhysicalMaterial) -> Self
Creates a ORM material from a PhysicalMaterial.
Trait Implementations
sourceimpl Clone for ORMMaterial
impl Clone for ORMMaterial
sourcefn clone(&self) -> ORMMaterial
fn clone(&self) -> ORMMaterial
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
sourceimpl Default for ORMMaterial
impl Default for ORMMaterial
sourceimpl Material for ORMMaterial
impl Material for ORMMaterial
sourcefn fragment_shader_source(
&self,
_use_vertex_colors: bool,
_lights: &[&dyn Light]
) -> String
fn fragment_shader_source(
&self,
_use_vertex_colors: bool,
_lights: &[&dyn Light]
) -> String
Returns the fragment shader source for this material. Should output the final fragment color.
sourcefn use_uniforms(
&self,
program: &Program,
_camera: &Camera,
_lights: &[&dyn Light]
) -> ThreeDResult<()>
fn use_uniforms(
&self,
program: &Program,
_camera: &Camera,
_lights: &[&dyn Light]
) -> ThreeDResult<()>
Sends the uniform data needed for this material to the fragment shader.
sourcefn render_states(&self) -> RenderStates
fn render_states(&self) -> RenderStates
Returns the render states needed to render with this material.
sourcefn is_transparent(&self) -> bool
fn is_transparent(&self) -> bool
Returns whether or not this material is transparent.
Auto Trait Implementations
impl !RefUnwindSafe for ORMMaterial
impl !Send for ORMMaterial
impl !Sync for ORMMaterial
impl Unpin for ORMMaterial
impl !UnwindSafe for ORMMaterial
Blanket Implementations
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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more