Trait bevy_render::render_phase::RenderCommand
source · pub trait RenderCommand<P: PhaseItem> {
type Param: SystemParam + 'static;
fn render<'w>(
view: Entity,
item: &P,
param: SystemParamItem<'w, '_, Self::Param>,
pass: &mut TrackedRenderPass<'w>
) -> RenderCommandResult;
}Expand description
RenderCommand is a trait that runs an ECS query and produces one or more
TrackedRenderPass calls. Types implementing this trait can be composed (as tuples).
They can be registered as a Draw function via the
AddRenderCommand::add_render_command method.
Example
The DrawPbr draw function is created from the following render command
tuple. Const generics are used to set specific bind group locations:
ⓘ
pub type DrawPbr = (
SetItemPipeline,
SetMeshViewBindGroup<0>,
SetStandardMaterialBindGroup<1>,
SetTransformBindGroup<2>,
DrawMesh,
);Required Associated Types
sourcetype Param: SystemParam + 'static
type Param: SystemParam + 'static
Specifies all ECS data required by RenderCommand::render.
All parameters have to be read only.
Required Methods
sourcefn render<'w>(
view: Entity,
item: &P,
param: SystemParamItem<'w, '_, Self::Param>,
pass: &mut TrackedRenderPass<'w>
) -> RenderCommandResult
fn render<'w>(
view: Entity,
item: &P,
param: SystemParamItem<'w, '_, Self::Param>,
pass: &mut TrackedRenderPass<'w>
) -> RenderCommandResult
Renders the PhaseItem by issuing draw calls via the TrackedRenderPass.