pub trait ViewNode {
type ViewQuery: ReadOnlyQueryData;
// Required method
fn run<'w>(
&self,
graph: &mut RenderGraphContext<'_>,
render_context: &mut RenderContext<'w>,
view_query: QueryItem<'w, Self::ViewQuery>,
world: &'w World,
) -> Result<(), NodeRunError>;
// Provided method
fn update(&mut self, _world: &mut World) { ... }
}
Expand description
This trait should be used instead of the Node
trait when making a render node that runs on a view.
It is intended to be used with ViewNodeRunner
Required Associated Types§
Sourcetype ViewQuery: ReadOnlyQueryData
type ViewQuery: ReadOnlyQueryData
The query that will be used on the view entity. It is guaranteed to run on the view entity, so there’s no need for a filter
Required Methods§
Sourcefn run<'w>(
&self,
graph: &mut RenderGraphContext<'_>,
render_context: &mut RenderContext<'w>,
view_query: QueryItem<'w, Self::ViewQuery>,
world: &'w World,
) -> Result<(), NodeRunError>
fn run<'w>( &self, graph: &mut RenderGraphContext<'_>, render_context: &mut RenderContext<'w>, view_query: QueryItem<'w, Self::ViewQuery>, world: &'w World, ) -> Result<(), NodeRunError>
Runs the graph node logic, issues draw calls, updates the output slots and
optionally queues up subgraphs for execution. The graph data, input and output values are
passed via the RenderGraphContext
.