pub struct EarlyGpuPreprocessNode { /* private fields */ }
Expand description
The render node for the first mesh preprocessing pass.
This pass runs a compute shader to cull meshes outside the view frustum (if
that wasn’t done by the CPU), cull meshes that weren’t visible last frame
(if occlusion culling is on), transform them, and, if indirect drawing is
on, populate indirect draw parameter metadata for the subsequent
EarlyPrepassBuildIndirectParametersNode
.
Trait Implementations§
Source§impl FromWorld for EarlyGpuPreprocessNode
impl FromWorld for EarlyGpuPreprocessNode
Source§fn from_world(world: &mut World) -> Self
fn from_world(world: &mut World) -> Self
Creates
Self
using data from the given World
.Source§impl Node for EarlyGpuPreprocessNode
impl Node for EarlyGpuPreprocessNode
Source§fn update(&mut self, world: &mut World)
fn update(&mut self, world: &mut World)
Updates internal node state using the current render
World
prior to the run method.Source§fn run<'w>(
&self,
graph: &mut RenderGraphContext<'_>,
render_context: &mut RenderContext<'w>,
world: &'w World,
) -> Result<(), NodeRunError>
fn run<'w>( &self, graph: &mut RenderGraphContext<'_>, render_context: &mut RenderContext<'w>, 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
.Auto Trait Implementations§
impl Freeze for EarlyGpuPreprocessNode
impl !RefUnwindSafe for EarlyGpuPreprocessNode
impl Send for EarlyGpuPreprocessNode
impl Sync for EarlyGpuPreprocessNode
impl Unpin for EarlyGpuPreprocessNode
impl !UnwindSafe for EarlyGpuPreprocessNode
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> 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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more