Struct bevy::sprite::ColorMaterial
[−]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
impl Clone for ColorMaterial
impl Clone for ColorMaterial
fn 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
impl Debug for ColorMaterial
impl Debug for ColorMaterial
impl Default for ColorMaterial
impl Default for ColorMaterial
fn default() -> ColorMaterial
fn default() -> ColorMaterial
Returns the “default value” for a type. Read more
impl From<Color> for ColorMaterial
impl From<Color> for ColorMaterial
fn from(color: Color) -> ColorMaterial
fn from(color: Color) -> ColorMaterial
Converts to this type from the input type.
impl From<Handle<Image>> for ColorMaterial
impl From<Handle<Image>> for ColorMaterial
fn from(texture: Handle<Image>) -> ColorMaterial
fn from(texture: Handle<Image>) -> ColorMaterial
Converts to this type from the input type.
impl Material2d for ColorMaterial
impl Material2d for ColorMaterial
fn fragment_shader(_asset_server: &AssetServer) -> Option<Handle<Shader>>
fn fragment_shader(_asset_server: &AssetServer) -> Option<Handle<Shader>>
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
.
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
.
fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn dynamic_uniform_indices(material: &Self::PreparedAsset) -> &[u32]
fn dynamic_uniform_indices(material: &Self::PreparedAsset) -> &[u32]
fn specialize(
descriptor: &mut RenderPipelineDescriptor,
layout: &Hashed<InnerMeshVertexBufferLayout, FixedState>
) -> Result<(), SpecializedMeshPipelineError>
fn specialize(
descriptor: &mut RenderPipelineDescriptor,
layout: &Hashed<InnerMeshVertexBufferLayout, FixedState>
) -> Result<(), SpecializedMeshPipelineError>
Customizes the default RenderPipelineDescriptor
.
impl RenderAsset for ColorMaterial
impl RenderAsset for ColorMaterial
type ExtractedAsset = ColorMaterial
type ExtractedAsset = ColorMaterial
The representation of the the asset in the “render world”.
type PreparedAsset = GpuColorMaterial
type PreparedAsset = GpuColorMaterial
The GPU-representation of the the asset.
type Param = (Res<'static, RenderDevice>, Res<'static, Material2dPipeline<ColorMaterial>>, Res<'static, HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>>)
type Param = (Res<'static, RenderDevice>, Res<'static, Material2dPipeline<ColorMaterial>>, Res<'static, HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>>)
Specifies all ECS data required by RenderAsset::prepare_asset
.
For convenience use the lifetimeless
SystemParam
. Read more
fn extract_asset(&self) -> <ColorMaterial as RenderAsset>::ExtractedAsset
fn extract_asset(&self) -> <ColorMaterial as RenderAsset>::ExtractedAsset
Converts the asset into a 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>>
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
. Read more
impl TypeUuid for ColorMaterial
impl TypeUuid for ColorMaterial
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
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
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. Read more
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. Read more
impl<T> FromWorld for T where
T: Default,
impl<T> FromWorld for T where
T: Default,
fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using data from the given World
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<M> SpecializedMaterial2d for M where
M: Material2d,
impl<M> SpecializedMaterial2d for M where
M: Material2d,
type Key = ()
type Key = ()
The key used to specialize this material’s RenderPipelineDescriptor
.
fn key(
_render_device: &RenderDevice,
_material: &<M as RenderAsset>::PreparedAsset
) -> <M as SpecializedMaterial2d>::Key
fn key(
_render_device: &RenderDevice,
_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. Read more
fn specialize(
_key: <M as SpecializedMaterial2d>::Key,
descriptor: &mut RenderPipelineDescriptor,
layout: &Hashed<InnerMeshVertexBufferLayout, FixedState>
) -> Result<(), SpecializedMeshPipelineError>
fn specialize(
_key: <M as SpecializedMaterial2d>::Key,
descriptor: &mut RenderPipelineDescriptor,
layout: &Hashed<InnerMeshVertexBufferLayout, FixedState>
) -> Result<(), SpecializedMeshPipelineError>
Specializes the given descriptor
according to the given key
.
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
.
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
.
fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn vertex_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn fragment_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn fragment_shader(asset_server: &AssetServer) -> Option<Handle<Shader>>
fn dynamic_uniform_indices(
material: &<M as RenderAsset>::PreparedAsset
) -> &[u32]
fn dynamic_uniform_indices(
material: &<M as RenderAsset>::PreparedAsset
) -> &[u32]
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
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
impl<T> TypeUuidDynamic for T where
T: TypeUuid,
impl<T> TypeUuidDynamic for T where
T: TypeUuid,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more