pub struct ColorMaterial {
pub color: Color,
pub texture: Option<Handle<Image>>,
}
Expand description
A 2d material that renders 2d meshes with a texture tinted by a uniform color
Fields§
§color: Color
§texture: Option<Handle<Image>>
Trait Implementations§
Source§impl Clone for ColorMaterial
impl Clone for ColorMaterial
Source§fn clone(&self) -> ColorMaterial
fn clone(&self) -> ColorMaterial
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ColorMaterial
impl Debug for ColorMaterial
Source§impl Default for ColorMaterial
impl Default for ColorMaterial
Source§fn default() -> ColorMaterial
fn default() -> ColorMaterial
Returns the “default value” for a type. Read more
Source§impl From<Color> for ColorMaterial
impl From<Color> for ColorMaterial
Source§fn from(color: Color) -> ColorMaterial
fn from(color: Color) -> ColorMaterial
Converts to this type from the input type.
Source§impl Material2d for ColorMaterial
impl Material2d for ColorMaterial
Source§fn fragment_shader(_asset_server: &AssetServer) -> Option<Handle<Shader>>
fn fragment_shader(_asset_server: &AssetServer) -> Option<Handle<Shader>>
Source§fn bind_group(
render_asset: &<ColorMaterial as RenderAsset>::PreparedAsset,
) -> &BindGroup
fn bind_group( render_asset: &<ColorMaterial as RenderAsset>::PreparedAsset, ) -> &BindGroup
Returns this material’s
BindGroup
. This should match the layout returned by Material2d::bind_group_layout
.Source§fn bind_group_layout(render_device: &RenderDevice) -> BindGroupLayout
fn bind_group_layout(render_device: &RenderDevice) -> BindGroupLayout
Returns this material’s
BindGroupLayout
. This should match the BindGroup
returned by Material2d::bind_group
.Source§fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
Source§fn dynamic_uniform_indices(material: &Self::PreparedAsset) -> &[u32]
fn dynamic_uniform_indices(material: &Self::PreparedAsset) -> &[u32]
The dynamic uniform indices to set for the given
material
’s BindGroup
.
Defaults to an empty array / no dynamic uniform indices.Source§impl RenderAsset for ColorMaterial
impl RenderAsset for ColorMaterial
Source§type ExtractedAsset = ColorMaterial
type ExtractedAsset = ColorMaterial
The representation of the the asset in the “render world”.
Source§type PreparedAsset = GpuColorMaterial
type PreparedAsset = GpuColorMaterial
The GPU-representation of the the asset.
Source§type Param = (Res<'static, RenderDevice>, Res<'static, Material2dPipeline<ColorMaterial>>, Res<'static, HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState>>)
type Param = (Res<'static, RenderDevice>, Res<'static, Material2dPipeline<ColorMaterial>>, Res<'static, HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState>>)
Specifies all ECS data required by
RenderAsset::prepare_asset
.
For convenience use the lifetimeless
SystemParams.Source§fn extract_asset(&self) -> <ColorMaterial as RenderAsset>::ExtractedAsset
fn extract_asset(&self) -> <ColorMaterial as RenderAsset>::ExtractedAsset
Converts the asset into a
RenderAsset::ExtractedAsset
.Source§fn prepare_asset(
material: <ColorMaterial as RenderAsset>::ExtractedAsset,
_: &mut <<<ColorMaterial as RenderAsset>::Param as SystemParam>::Fetch as SystemParamFetch<'_, '_>>::Item,
) -> Result<<ColorMaterial as RenderAsset>::PreparedAsset, PrepareAssetError<<ColorMaterial as RenderAsset>::ExtractedAsset>>
fn prepare_asset( material: <ColorMaterial as RenderAsset>::ExtractedAsset, _: &mut <<<ColorMaterial as RenderAsset>::Param as SystemParam>::Fetch as SystemParamFetch<'_, '_>>::Item, ) -> Result<<ColorMaterial as RenderAsset>::PreparedAsset, PrepareAssetError<<ColorMaterial as RenderAsset>::ExtractedAsset>>
Prepares the
extracted asset
for the GPU by transforming it into
a RenderAsset::PreparedAsset
. Therefore ECS data may be accessed via the param
.Auto Trait Implementations§
impl Freeze for ColorMaterial
impl RefUnwindSafe for ColorMaterial
impl Send for ColorMaterial
impl Sync for ColorMaterial
impl Unpin for ColorMaterial
impl UnwindSafe for ColorMaterial
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self
using data from the given WorldSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<M> SpecializedMaterial2d for Mwhere
M: Material2d,
impl<M> SpecializedMaterial2d for Mwhere
M: Material2d,
Source§type Key = ()
type Key = ()
The key used to specialize this material’s
RenderPipelineDescriptor
.Source§fn key(
_material: &<M as RenderAsset>::PreparedAsset,
) -> <M as SpecializedMaterial2d>::Key
fn key( _material: &<M as RenderAsset>::PreparedAsset, ) -> <M as SpecializedMaterial2d>::Key
Extract the
SpecializedMaterial2d::Key
for the “prepared” version of this material. This key will be
passed in to the SpecializedMaterial2d::specialize
function when compiling the RenderPipeline
for a given entity’s material.Source§fn specialize(
_key: <M as SpecializedMaterial2d>::Key,
_descriptor: &mut RenderPipelineDescriptor,
)
fn specialize( _key: <M as SpecializedMaterial2d>::Key, _descriptor: &mut RenderPipelineDescriptor, )
Specializes the given
descriptor
according to the given key
.Source§fn bind_group(material: &<M as RenderAsset>::PreparedAsset) -> &BindGroup
fn bind_group(material: &<M as RenderAsset>::PreparedAsset) -> &BindGroup
Returns this material’s
BindGroup
. This should match the layout returned by SpecializedMaterial2d::bind_group_layout
.Source§fn bind_group_layout(render_device: &RenderDevice) -> BindGroupLayout
fn bind_group_layout(render_device: &RenderDevice) -> BindGroupLayout
Returns this material’s
BindGroupLayout
. This should match the BindGroup
returned by SpecializedMaterial2d::bind_group
.Source§fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
Source§fn fragment_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn fragment_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
Source§fn dynamic_uniform_indices(
material: &<M as RenderAsset>::PreparedAsset,
) -> &[u32]
fn dynamic_uniform_indices( material: &<M as RenderAsset>::PreparedAsset, ) -> &[u32]
The dynamic uniform indices to set for the given
material
’s BindGroup
.
Defaults to an empty array / no dynamic uniform indices.