pub trait RenderFeaturePrepareJob<'prepare>: Send + Sync {
Show 13 methods
// Required methods
fn begin_per_frame_prepare(&self);
fn prepare_render_object_instance(&self, range: Range<usize>);
fn view_packet(
&self,
view_index: ViewFrameIndex,
) -> &dyn RenderFeatureViewPacket;
fn view_submit_packet(
&self,
view_index: ViewFrameIndex,
) -> &dyn RenderFeatureViewSubmitPacket;
fn prepare_render_object_instance_per_view(
&self,
view_packet: &dyn RenderFeatureViewPacket,
view_submit_packet: &dyn RenderFeatureViewSubmitPacket,
range: Range<usize>,
);
fn end_per_view_prepare(
&self,
view_packet: &dyn RenderFeatureViewPacket,
view_submit_packet: &dyn RenderFeatureViewSubmitPacket,
);
fn end_per_frame_prepare(&self);
fn num_views(&self) -> usize;
fn num_render_object_instances(&self) -> usize;
fn take_frame_packet(&mut self) -> Box<dyn RenderFeatureFramePacket>;
fn take_submit_packet(&mut self) -> Box<dyn RenderFeatureSubmitPacket>;
fn feature_debug_constants(&self) -> &'static RenderFeatureDebugConstants;
fn feature_index(&self) -> RenderFeatureIndex;
}Expand description
A type-erased trait used by the Renderer, RenderFrameJob, and RendererThreadPool
to control the workload of the rendering process without identifying specific types
used in each RenderFeature’s frame packet or workload. See PrepareJob and the
PrepareJobEntryPoints for implementation details.
Required Methods§
fn begin_per_frame_prepare(&self)
fn prepare_render_object_instance(&self, range: Range<usize>)
fn view_packet( &self, view_index: ViewFrameIndex, ) -> &dyn RenderFeatureViewPacket
fn view_submit_packet( &self, view_index: ViewFrameIndex, ) -> &dyn RenderFeatureViewSubmitPacket
fn prepare_render_object_instance_per_view( &self, view_packet: &dyn RenderFeatureViewPacket, view_submit_packet: &dyn RenderFeatureViewSubmitPacket, range: Range<usize>, )
fn end_per_view_prepare( &self, view_packet: &dyn RenderFeatureViewPacket, view_submit_packet: &dyn RenderFeatureViewSubmitPacket, )
fn end_per_frame_prepare(&self)
fn num_views(&self) -> usize
fn num_render_object_instances(&self) -> usize
fn take_frame_packet(&mut self) -> Box<dyn RenderFeatureFramePacket>
fn take_submit_packet(&mut self) -> Box<dyn RenderFeatureSubmitPacket>
fn feature_debug_constants(&self) -> &'static RenderFeatureDebugConstants
fn feature_index(&self) -> RenderFeatureIndex
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".