pub enum RenderSet {
ExtractCommands,
Prepare,
PrepareFlush,
Queue,
QueueFlush,
PhaseSort,
PhaseSortFlush,
Render,
RenderFlush,
Cleanup,
CleanupFlush,
}
Expand description
The labels of the default App rendering sets.
The sets run in the order listed, with apply_system_buffers
inserted between each set.
The *Flush
sets are assigned to the copy of apply_system_buffers
that runs immediately after the matching system set.
These can be useful for ordering, but you almost never want to add your systems to these sets.
Variants§
ExtractCommands
The copy of apply_system_buffers
that runs at the beginning of this schedule.
This is used for applying the commands from the ExtractSchedule
Prepare
Prepare render resources from the extracted data for the GPU.
PrepareFlush
The copy of apply_system_buffers
that runs immediately after Prepare
.
Queue
Create BindGroups
that depend on
Prepare
data and queue up draw calls to run during the
Render
step.
QueueFlush
The copy of apply_system_buffers
that runs immediately after Queue
.
PhaseSort
Sort the RenderPhases
here.
PhaseSortFlush
The copy of apply_system_buffers
that runs immediately after PhaseSort
.
Render
Actual rendering happens here. In most cases, only the render backend should insert resources here.
RenderFlush
The copy of apply_system_buffers
that runs immediately after Render
.
Cleanup
Cleanup render resources here.
CleanupFlush
The copy of apply_system_buffers
that runs immediately after Cleanup
.
Implementations§
§impl RenderSet
impl RenderSet
pub fn base_schedule() -> Schedule
pub fn base_schedule() -> Schedule
Sets up the base structure of the rendering Schedule
.
The sets defined in this enum are configured to run in order,
and a copy of apply_system_buffers
is inserted into each *Flush
set.
Trait Implementations§
§impl SystemSet for RenderSetwhere
RenderSet: 'static + Send + Sync + Clone + Eq + Debug + Hash,
impl SystemSet for RenderSetwhere RenderSet: 'static + Send + Sync + Clone + Eq + Debug + Hash,
§fn is_base(&self) -> bool
fn is_base(&self) -> bool
true
if this set is a “base system set”. Systems
can only belong to one base set at a time. Systems and Sets
can only be added to base sets using specialized in_base_set
APIs. This enables “mutually exclusive” behaviors. It also
enables schedules to have a “default base set”, which can be used
to apply default configuration to systems.§fn dyn_clone(&self) -> Box<dyn SystemSet + 'static, Global>
fn dyn_clone(&self) -> Box<dyn SystemSet + 'static, Global>
§fn system_type(&self) -> Option<TypeId>
fn system_type(&self) -> Option<TypeId>
Some
if this system set is a SystemTypeSet
.impl Eq for RenderSet
impl FreeSystemSet for RenderSetwhere RenderSet: 'static + Send + Sync + Clone + Eq + Debug + Hash,
impl StructuralEq for RenderSet
impl StructuralPartialEq for RenderSet
Auto Trait Implementations§
impl RefUnwindSafe for RenderSet
impl Send for RenderSet
impl Sync for RenderSet
impl Unpin for RenderSet
impl UnwindSafe for RenderSet
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
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
source§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> ⓘ
§impl<S> IntoSystemSet<()> for Swhere
S: SystemSet,
impl<S> IntoSystemSet<()> for Swhere S: SystemSet,
type Set = S
fn into_system_set(self) -> <S as IntoSystemSet<()>>::Set
§impl<S> IntoSystemSetConfig for Swhere
S: SystemSet,
impl<S> IntoSystemSetConfig for Swhere S: SystemSet,
fn into_config(self) -> SystemSetConfig
§fn in_set(self, set: impl FreeSystemSet) -> SystemSetConfig
fn in_set(self, set: impl FreeSystemSet) -> SystemSetConfig
set
.§fn in_base_set(self, set: impl BaseSystemSet) -> SystemSetConfig
fn in_base_set(self, set: impl BaseSystemSet) -> SystemSetConfig
set
. For more information on base sets, see SystemSet::is_base
.§fn in_default_base_set(self) -> SystemSetConfig
fn in_default_base_set(self) -> SystemSetConfig
§fn before<M>(self, set: impl IntoSystemSet<M>) -> SystemSetConfig
fn before<M>(self, set: impl IntoSystemSet<M>) -> SystemSetConfig
set
.§fn after<M>(self, set: impl IntoSystemSet<M>) -> SystemSetConfig
fn after<M>(self, set: impl IntoSystemSet<M>) -> SystemSetConfig
set
.§fn run_if<M>(self, condition: impl Condition<M>) -> SystemSetConfig
fn run_if<M>(self, condition: impl Condition<M>) -> SystemSetConfig
§fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> SystemSetConfig
fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> SystemSetConfig
set
.