pub trait Material: Any + Debug + Send + Sync + Serialize + Deserialize {
// Required methods
fn pipeline(renderer: &Renderer) -> Pipeline
where Self: Sized;
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
}
Expand description
Trait for materials to be used in Renderer
Required Methods§
fn pipeline(renderer: &Renderer) -> Pipelinewhere Self: Sized,
fn as_any(&self) -> &dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Trait Implementations§
source§impl<'de> Deserialize<'de> for Box<dyn Material>
impl<'de> Deserialize<'de> for Box<dyn Material>
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<'de> Deserialize<'de> for Box<dyn Material + Send>
impl<'de> Deserialize<'de> for Box<dyn Material + Send>
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<'de> Deserialize<'de> for Box<dyn Material + Send + Sync>
impl<'de> Deserialize<'de> for Box<dyn Material + Send + Sync>
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<'de> Deserialize<'de> for Box<dyn Material + Sync>
impl<'de> Deserialize<'de> for Box<dyn Material + Sync>
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