pub trait RenderCommand<P>where
    P: PhaseItem,{
    type Param: SystemParam + 'static;
    type ViewWorldQuery: ReadOnlyWorldQuery;
    type ItemWorldQuery: ReadOnlyWorldQuery;

    // Required method
    fn render<'w>(
        item: &P,
        view: <<Self::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>,
        entity: <<Self::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>,
        param: <Self::Param as SystemParam>::Item<'w, '_>,
        pass: &mut TrackedRenderPass<'w>
    ) -> RenderCommandResult;
}
Expand description

RenderCommands are modular standardized pieces of render logic that can be composed into Draw functions.

To turn a stateless render command into a usable draw function it has to be wrapped by a RenderCommandState. This is done automatically when registering a render command as a Draw function via the AddRenderCommand::add_render_command method.

Compared to the draw function the required ECS data is fetched automatically (by the RenderCommandState) from the render world. Therefore the three types Param, ViewWorldQuery and ItemWorldQuery are used. They specify which information is required to execute the render command.

Multiple render commands can be combined together by wrapping them in a tuple.

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§

type Param: SystemParam + 'static

Specifies the general ECS data (e.g. resources) required by RenderCommand::render.

When fetching resources, note that, due to lifetime limitations of the Deref trait, SRes::into_inner must be called on each SRes reference in the RenderCommand::render method, instead of being automatically dereferenced as is the case in normal systems.

All parameters have to be read only.

type ViewWorldQuery: ReadOnlyWorldQuery

Specifies the ECS data of the view entity required by RenderCommand::render.

The view entity refers to the camera, or shadow-casting light, etc. from which the phase item will be rendered from. All components have to be accessed read only.

type ItemWorldQuery: ReadOnlyWorldQuery

Specifies the ECS data of the item entity required by RenderCommand::render.

The item is the entity that will be rendered for the corresponding view. All components have to be accessed read only.

Required Methods§

fn render<'w>( item: &P, view: <<Self::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, entity: <<Self::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, param: <Self::Param as SystemParam>::Item<'w, '_>, pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

Renders a PhaseItem by recording commands (e.g. setting pipelines, binding bind groups, issuing draw calls, etc.) via the TrackedRenderPass.

Implementations on Foreign Types§

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>, C9: RenderCommand<P>, C10: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param, <C9 as RenderCommand<P>>::Param, <C10 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery, <C9 as RenderCommand<P>>::ViewWorldQuery, <C10 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery, <C9 as RenderCommand<P>>::ItemWorldQuery, <C10 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>,

§

impl<P, C0, C1, C2> RenderCommand<P> for (C0, C1, C2)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>,

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>, C9: RenderCommand<P>, C10: RenderCommand<P>, C11: RenderCommand<P>, C12: RenderCommand<P>, C13: RenderCommand<P>, C14: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param, <C9 as RenderCommand<P>>::Param, <C10 as RenderCommand<P>>::Param, <C11 as RenderCommand<P>>::Param, <C12 as RenderCommand<P>>::Param, <C13 as RenderCommand<P>>::Param, <C14 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery, <C9 as RenderCommand<P>>::ViewWorldQuery, <C10 as RenderCommand<P>>::ViewWorldQuery, <C11 as RenderCommand<P>>::ViewWorldQuery, <C12 as RenderCommand<P>>::ViewWorldQuery, <C13 as RenderCommand<P>>::ViewWorldQuery, <C14 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery, <C9 as RenderCommand<P>>::ItemWorldQuery, <C10 as RenderCommand<P>>::ItemWorldQuery, <C11 as RenderCommand<P>>::ItemWorldQuery, <C12 as RenderCommand<P>>::ItemWorldQuery, <C13 as RenderCommand<P>>::ItemWorldQuery, <C14 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P> RenderCommand<P> for ()where P: PhaseItem,

§

type Param = ()

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = ()

§

fn render<'w>( _item: &P, _: <<<() as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<() as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<() as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3, C4, C5> RenderCommand<P> for (C0, C1, C2, C3, C4, C5)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>,

§

impl<P, C0, C1, C2, C3, C4> RenderCommand<P> for (C0, C1, C2, C3, C4)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>,

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>, C9: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param, <C9 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery, <C9 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery, <C9 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0> RenderCommand<P> for (C0,)where P: PhaseItem, C0: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param,)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery,)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery,)

§

fn render<'w>( _item: &P, _: <<<(C0,) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0,) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0,) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>, C9: RenderCommand<P>, C10: RenderCommand<P>, C11: RenderCommand<P>, C12: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param, <C9 as RenderCommand<P>>::Param, <C10 as RenderCommand<P>>::Param, <C11 as RenderCommand<P>>::Param, <C12 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery, <C9 as RenderCommand<P>>::ViewWorldQuery, <C10 as RenderCommand<P>>::ViewWorldQuery, <C11 as RenderCommand<P>>::ViewWorldQuery, <C12 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery, <C9 as RenderCommand<P>>::ItemWorldQuery, <C10 as RenderCommand<P>>::ItemWorldQuery, <C11 as RenderCommand<P>>::ItemWorldQuery, <C12 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3, C4, C5, C6> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>,

§

impl<P, C0, C1> RenderCommand<P> for (C0, C1)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>,

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>, C9: RenderCommand<P>, C10: RenderCommand<P>, C11: RenderCommand<P>, C12: RenderCommand<P>, C13: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param, <C9 as RenderCommand<P>>::Param, <C10 as RenderCommand<P>>::Param, <C11 as RenderCommand<P>>::Param, <C12 as RenderCommand<P>>::Param, <C13 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery, <C9 as RenderCommand<P>>::ViewWorldQuery, <C10 as RenderCommand<P>>::ViewWorldQuery, <C11 as RenderCommand<P>>::ViewWorldQuery, <C12 as RenderCommand<P>>::ViewWorldQuery, <C13 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery, <C9 as RenderCommand<P>>::ItemWorldQuery, <C10 as RenderCommand<P>>::ItemWorldQuery, <C11 as RenderCommand<P>>::ItemWorldQuery, <C12 as RenderCommand<P>>::ItemWorldQuery, <C13 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> RenderCommand<P> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>, C4: RenderCommand<P>, C5: RenderCommand<P>, C6: RenderCommand<P>, C7: RenderCommand<P>, C8: RenderCommand<P>, C9: RenderCommand<P>, C10: RenderCommand<P>, C11: RenderCommand<P>,

§

type Param = (<C0 as RenderCommand<P>>::Param, <C1 as RenderCommand<P>>::Param, <C2 as RenderCommand<P>>::Param, <C3 as RenderCommand<P>>::Param, <C4 as RenderCommand<P>>::Param, <C5 as RenderCommand<P>>::Param, <C6 as RenderCommand<P>>::Param, <C7 as RenderCommand<P>>::Param, <C8 as RenderCommand<P>>::Param, <C9 as RenderCommand<P>>::Param, <C10 as RenderCommand<P>>::Param, <C11 as RenderCommand<P>>::Param)

§

type ViewWorldQuery = (<C0 as RenderCommand<P>>::ViewWorldQuery, <C1 as RenderCommand<P>>::ViewWorldQuery, <C2 as RenderCommand<P>>::ViewWorldQuery, <C3 as RenderCommand<P>>::ViewWorldQuery, <C4 as RenderCommand<P>>::ViewWorldQuery, <C5 as RenderCommand<P>>::ViewWorldQuery, <C6 as RenderCommand<P>>::ViewWorldQuery, <C7 as RenderCommand<P>>::ViewWorldQuery, <C8 as RenderCommand<P>>::ViewWorldQuery, <C9 as RenderCommand<P>>::ViewWorldQuery, <C10 as RenderCommand<P>>::ViewWorldQuery, <C11 as RenderCommand<P>>::ViewWorldQuery)

§

type ItemWorldQuery = (<C0 as RenderCommand<P>>::ItemWorldQuery, <C1 as RenderCommand<P>>::ItemWorldQuery, <C2 as RenderCommand<P>>::ItemWorldQuery, <C3 as RenderCommand<P>>::ItemWorldQuery, <C4 as RenderCommand<P>>::ItemWorldQuery, <C5 as RenderCommand<P>>::ItemWorldQuery, <C6 as RenderCommand<P>>::ItemWorldQuery, <C7 as RenderCommand<P>>::ItemWorldQuery, <C8 as RenderCommand<P>>::ItemWorldQuery, <C9 as RenderCommand<P>>::ItemWorldQuery, <C10 as RenderCommand<P>>::ItemWorldQuery, <C11 as RenderCommand<P>>::ItemWorldQuery)

§

fn render<'w>( _item: &P, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11) as RenderCommand<P>>::ViewWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11) as RenderCommand<P>>::ItemWorldQuery as WorldQuery>::ReadOnly as WorldQuery>::Item<'w>, _: <<(C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11) as RenderCommand<P>>::Param as SystemParam>::Item<'w, '_>, _pass: &mut TrackedRenderPass<'w> ) -> RenderCommandResult

§

impl<P, C0, C1, C2, C3> RenderCommand<P> for (C0, C1, C2, C3)where P: PhaseItem, C0: RenderCommand<P>, C1: RenderCommand<P>, C2: RenderCommand<P>, C3: RenderCommand<P>,

Implementors§

§

impl<P> RenderCommand<P> for DrawMeshwhere P: PhaseItem,

§

type Param = Res<'static, RenderAssets<Mesh>>

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = &'static Handle<Mesh>

§

impl<P> RenderCommand<P> for DrawMesh2dwhere P: PhaseItem,

§

impl<P> RenderCommand<P> for DrawSpriteBatchwhere P: BatchedPhaseItem,

§

type Param = Res<'static, SpriteMeta>

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = &'static SpriteBatch

§

impl<P> RenderCommand<P> for DrawUiNodewhere P: PhaseItem,

§

type Param = Res<'static, UiMeta>

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = &'static UiBatch

§

impl<P> RenderCommand<P> for SetItemPipelinewhere P: CachedRenderPipelinePhaseItem,

§

impl<P, M, const I: usize> RenderCommand<P> for SetMaterialBindGroup<M, I>where P: PhaseItem, M: Material,

§

type Param = Res<'static, RenderMaterials<M>>

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = &'static Handle<M>

§

impl<P, M, const I: usize> RenderCommand<P> for SetMaterial2dBindGroup<M, I>where P: PhaseItem, M: Material2d,

§

type Param = Res<'static, RenderMaterials2d<M>>

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = &'static Handle<M>

§

impl<P, const I: usize> RenderCommand<P> for SetMeshBindGroup<I>where P: PhaseItem,

§

type Param = Res<'static, MeshBindGroups>

§

type ViewWorldQuery = ()

§

type ItemWorldQuery = (&'static Handle<Mesh>, &'static DynamicUniformIndex<MeshUniform>, Option<&'static SkinnedMeshJoints>, Option<&'static MorphIndex>)

§

impl<P, const I: usize> RenderCommand<P> for SetMeshViewBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetPrepassViewBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetMesh2dBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetMesh2dViewBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetSpriteTextureBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetSpriteViewBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetUiTextureBindGroup<I>where P: PhaseItem,

§

impl<P, const I: usize> RenderCommand<P> for SetUiViewBindGroup<I>where P: PhaseItem,