pub struct ColorMaterial {
    pub color: Srgba,
    pub texture: Option<Texture2DRef>,
    pub render_states: RenderStates,
    pub is_transparent: bool,
}
Expand description

A material that renders a Geometry in a color defined by multiplying a color with an optional texture and optional per vertex colors. This material is not affected by lights.

Fields§

§color: Srgba

Base surface color.

§texture: Option<Texture2DRef>

An optional texture which is samples using uv coordinates (requires that the Geometry supports uv coordinates). The colors are assumed to be in linear sRGB (RgbU8), linear sRGB with an alpha channel (RgbaU8) or HDR color space.

§render_states: RenderStates

Render states.

§is_transparent: bool

Whether this material should be treated as a transparent material (An object needs to be rendered differently depending on whether it is transparent or opaque).

Implementations§

source§

impl ColorMaterial

source

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

Constructs a new color material from a CpuMaterial. Tries to infer whether this material is transparent or opaque from the alpha value of the albedo color and the alpha values in the albedo texture. Since this is not always correct, it is preferred to use ColorMaterial::new_opaque or ColorMaterial::new_transparent.

source

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

Constructs a new opaque color material from a CpuMaterial.

source

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

Constructs a new transparent color material from a CpuMaterial.

source

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

Creates a color material from a PhysicalMaterial.

Trait Implementations§

source§

impl Clone for ColorMaterial

source§

fn clone(&self) -> ColorMaterial

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 ColorMaterial

source§

fn default() -> ColorMaterial

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

impl FromCpuMaterial for ColorMaterial

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 ColorMaterial

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.