Struct let_engine::resources::materials::Material
source · pub struct Material { /* private fields */ }
Expand description
A material holding the way an object should be drawn.
It takes some time to make a new material.
Implementations§
source§impl Material
impl Material
Making
Right now it produces an error when the shaders don’t have a main function.
sourcepub fn new_with_shaders(
settings: MaterialSettings,
shaders: &Shaders,
instanced: bool,
writes: Vec<WriteDescriptorSet>
) -> Result<Self, VulkanError>
pub fn new_with_shaders( settings: MaterialSettings, shaders: &Shaders, instanced: bool, writes: Vec<WriteDescriptorSet> ) -> Result<Self, VulkanError>
Creates a new material using the given shaders, settings and write operations.
sourcepub fn new(settings: MaterialSettings) -> Result<Material, VulkanError>
pub fn new(settings: MaterialSettings) -> Result<Material, VulkanError>
Makes a new default material.
sourcepub fn new_instanced(
settings: MaterialSettings
) -> Result<Material, VulkanError>
pub fn new_instanced( settings: MaterialSettings ) -> Result<Material, VulkanError>
Makes a new default material.
sourcepub fn new_default_textured(texture: &Texture) -> Material
pub fn new_default_textured(texture: &Texture) -> Material
Creates a simple material made just for showing a texture.
pub fn new_default_textured_instance(texture: &Texture) -> Material
source§impl Material
impl Material
sourcepub unsafe fn write(
&mut self,
descriptor: Vec<WriteDescriptorSet>
) -> Result<()>
pub unsafe fn write( &mut self, descriptor: Vec<WriteDescriptorSet> ) -> Result<()>
Writes to the material changing the variables for the shaders.
§Safety
The program will crash in case in case the data input here is not as the shader wants it.
sourcepub fn set_layer(&mut self, id: u32) -> Result<(), TextureError>
pub fn set_layer(&mut self, id: u32) -> Result<(), TextureError>
Sets the layer of the texture in case it has a texture with layers.
sourcepub fn next_frame(&mut self) -> Result<(), TextureError>
pub fn next_frame(&mut self) -> Result<(), TextureError>
Goes to the next frame of the texture.
Returns an error if it reached the limit.
sourcepub fn last_frame(&mut self) -> Result<(), TextureError>
pub fn last_frame(&mut self) -> Result<(), TextureError>
Goes back a frame of the texture.
Returns an error if the layer is already on 0.
sourcepub fn set_texture(&mut self, texture: Option<Texture>)
pub fn set_texture(&mut self, texture: Option<Texture>)
Sets the texture.
Trait Implementations§
source§impl PartialEq for Material
impl PartialEq for Material
impl StructuralPartialEq for Material
Auto Trait Implementations§
impl !RefUnwindSafe for Material
impl Send for Material
impl Sync for Material
impl Unpin for Material
impl !UnwindSafe for Material
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.