pub trait ExtractJobEntryPoints<'extract>: Sync + Send + Sized {
type RenderObjectInstanceJobContextT;
type RenderObjectInstancePerViewJobContextT;
type FramePacketDataT: 'static + Sync + Send + FramePacketData;
// Required methods
fn feature_debug_constants(&self) -> &'static RenderFeatureDebugConstants;
fn feature_index(&self) -> RenderFeatureIndex;
// Provided methods
fn begin_per_frame_extract(
&self,
_context: &ExtractPerFrameContext<'extract, '_, Self>
) { ... }
fn extract_render_object_instance(
&self,
_job_context: &mut Self::RenderObjectInstanceJobContextT,
_context: &ExtractRenderObjectInstanceContext<'extract, '_, Self>
) { ... }
fn extract_render_object_instance_per_view(
&self,
_job_context: &mut Self::RenderObjectInstancePerViewJobContextT,
_context: &ExtractRenderObjectInstancePerViewContext<'extract, '_, Self>
) { ... }
fn end_per_view_extract(
&self,
_context: &ExtractPerViewContext<'extract, '_, Self>
) { ... }
fn end_per_frame_extract(
&self,
_context: &ExtractPerFrameContext<'extract, '_, Self>
) { ... }
fn new_render_object_instance_job_context(
&'extract self
) -> Option<Self::RenderObjectInstanceJobContextT> { ... }
fn new_render_object_instance_per_view_job_context(
&'extract self
) -> Option<Self::RenderObjectInstancePerViewJobContextT> { ... }
}
Expand description
ExtractJobEntryPoints
provides a generic set of callbacks for a RenderFeature
compatible with the ExtractJob
struct. This simplifies the work of implementing
the RenderFeatureExtractJob
trait.
Required Associated Types§
sourcetype RenderObjectInstanceJobContextT
type RenderObjectInstanceJobContextT
JobContext
for the extract_render_object_instance
entry point.
sourcetype RenderObjectInstancePerViewJobContextT
type RenderObjectInstancePerViewJobContextT
JobContext
for the extract_render_object_instance_per_view
entry point.
sourcetype FramePacketDataT: 'static + Sync + Send + FramePacketData
type FramePacketDataT: 'static + Sync + Send + FramePacketData
See definition of FramePacketData
.
Required Methods§
fn feature_debug_constants(&self) -> &'static RenderFeatureDebugConstants
fn feature_index(&self) -> RenderFeatureIndex
Provided Methods§
sourcefn begin_per_frame_extract(
&self,
_context: &ExtractPerFrameContext<'extract, '_, Self>
)
fn begin_per_frame_extract( &self, _context: &ExtractPerFrameContext<'extract, '_, Self> )
Called once at the start of the extract
step when any RenderView
in the frame is
relevant to this RenderFeature
.
sourcefn extract_render_object_instance(
&self,
_job_context: &mut Self::RenderObjectInstanceJobContextT,
_context: &ExtractRenderObjectInstanceContext<'extract, '_, Self>
)
fn extract_render_object_instance( &self, _job_context: &mut Self::RenderObjectInstanceJobContextT, _context: &ExtractRenderObjectInstanceContext<'extract, '_, Self> )
Called once for each instance of an Entity
and RenderObject
in the frame matching this
RenderFeature
.
sourcefn extract_render_object_instance_per_view(
&self,
_job_context: &mut Self::RenderObjectInstancePerViewJobContextT,
_context: &ExtractRenderObjectInstancePerViewContext<'extract, '_, Self>
)
fn extract_render_object_instance_per_view( &self, _job_context: &mut Self::RenderObjectInstancePerViewJobContextT, _context: &ExtractRenderObjectInstancePerViewContext<'extract, '_, Self> )
Called once for each instance of an Entity
and RenderObject
in each RenderView
relevant
to this RenderFeature
.
sourcefn end_per_view_extract(
&self,
_context: &ExtractPerViewContext<'extract, '_, Self>
)
fn end_per_view_extract( &self, _context: &ExtractPerViewContext<'extract, '_, Self> )
Called once for each relevant RenderView
. This function is only run after all instances of
extract_render_object_instance_per_view
have finished for that RenderView
.
sourcefn end_per_frame_extract(
&self,
_context: &ExtractPerFrameContext<'extract, '_, Self>
)
fn end_per_frame_extract( &self, _context: &ExtractPerFrameContext<'extract, '_, Self> )
Called once at the end of the extract
step when any RenderView
in the frame is
relevant to this RenderFeature
.