Struct bevy::render::render_asset::RenderAssetPlugin
pub struct RenderAssetPlugin<A, AFTER = ()>where
A: RenderAsset,
AFTER: RenderAssetDependency + 'static,{ /* private fields */ }
Expand description
This plugin extracts the changed assets from the “app world” into the “render world”
and prepares them for the GPU. They can then be accessed from the RenderAssets
resource.
Therefore it sets up the ExtractSchedule
and
RenderSet::PrepareAssets
steps for the specified RenderAsset
.
The AFTER
generic parameter can be used to specify that A::prepare_asset
should not be run until
prepare_assets::<AFTER>
has completed. This allows the prepare_asset
function to depend on another
prepared RenderAsset
, for example Mesh::prepare_asset
relies on RenderAssets::<Image>
for morph
targets, so the plugin is created as RenderAssetPlugin::<Mesh, Image>::default()
.
Trait Implementations§
§impl<A, AFTER> Default for RenderAssetPlugin<A, AFTER>where
A: RenderAsset,
AFTER: RenderAssetDependency + 'static,
impl<A, AFTER> Default for RenderAssetPlugin<A, AFTER>where A: RenderAsset, AFTER: RenderAssetDependency + 'static,
§fn default() -> RenderAssetPlugin<A, AFTER>
fn default() -> RenderAssetPlugin<A, AFTER>
Returns the “default value” for a type. Read more
§impl<A, AFTER> Plugin for RenderAssetPlugin<A, AFTER>where
A: RenderAsset,
AFTER: RenderAssetDependency + 'static,
impl<A, AFTER> Plugin for RenderAssetPlugin<A, AFTER>where A: RenderAsset, AFTER: RenderAssetDependency + 'static,
§fn ready(&self, _app: &App) -> bool
fn ready(&self, _app: &App) -> bool
Has the plugin finished it’s setup? This can be useful for plugins that needs something
asynchronous to happen before they can finish their setup, like renderer initialization.
Once the plugin is ready,
finish
should be called.§fn finish(&self, _app: &mut App)
fn finish(&self, _app: &mut App)
Finish adding this plugin to the
App
, once all plugins registered are ready. This can
be useful for plugins that depends on another plugin asynchronous setup, like the renderer.§fn cleanup(&self, _app: &mut App)
fn cleanup(&self, _app: &mut App)
Runs after all plugins are built and finished, but before the app schedule is executed.
This can be useful if you have some resource that other plugins need during their build step,
but after build you want to remove it and send it to another thread.
Auto Trait Implementations§
impl<A, AFTER> RefUnwindSafe for RenderAssetPlugin<A, AFTER>
impl<A, AFTER> Send for RenderAssetPlugin<A, AFTER>
impl<A, AFTER> Sync for RenderAssetPlugin<A, AFTER>
impl<A, AFTER> Unpin for RenderAssetPlugin<A, AFTER>
impl<A, AFTER> UnwindSafe for RenderAssetPlugin<A, AFTER>
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
Return the
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Convert
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self
using data from the given World
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
§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> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.