pub struct ColorMaterial {
pub color: Color,
pub texture: Option<Rc<Texture2D>>,
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: ColorBase surface color. Assumed to be in linear color space.
texture: Option<Rc<Texture2D>>An optional texture which is samples using uv coordinates (requires that the Geometry supports uv coordinates).
render_states: RenderStatesRender states.
is_transparent: boolWhether 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
sourceimpl ColorMaterial
impl ColorMaterial
sourcepub fn new(context: &Context, cpu_material: &CpuMaterial) -> ThreeDResult<Self>
pub fn new(context: &Context, cpu_material: &CpuMaterial) -> ThreeDResult<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.
sourcepub fn new_opaque(
context: &Context,
cpu_material: &CpuMaterial
) -> ThreeDResult<Self>
pub fn new_opaque(
context: &Context,
cpu_material: &CpuMaterial
) -> ThreeDResult<Self>
Constructs a new opaque color material from a CpuMaterial.
sourcepub fn new_transparent(
context: &Context,
cpu_material: &CpuMaterial
) -> ThreeDResult<Self>
pub fn new_transparent(
context: &Context,
cpu_material: &CpuMaterial
) -> ThreeDResult<Self>
Constructs a new transparent color material from a CpuMaterial.
sourcepub fn from_physical_material(physical_material: &PhysicalMaterial) -> Self
pub fn from_physical_material(physical_material: &PhysicalMaterial) -> Self
Creates a color material from a PhysicalMaterial.
Trait Implementations
sourceimpl Clone for ColorMaterial
impl Clone for ColorMaterial
sourcefn clone(&self) -> ColorMaterial
fn clone(&self) -> ColorMaterial
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 ColorMaterial
impl Default for ColorMaterial
sourcefn default() -> ColorMaterial
fn default() -> ColorMaterial
Returns the “default value” for a type. Read more
sourceimpl Material for ColorMaterial
impl Material for ColorMaterial
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 ColorMaterial
impl !Send for ColorMaterial
impl !Sync for ColorMaterial
impl Unpin for ColorMaterial
impl !UnwindSafe for ColorMaterial
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