pub trait SubmitPacketData {
type PerFrameSubmitData: Sync + Send;
type RenderObjectInstanceSubmitData: Sync + Send;
type PerViewSubmitData: Sync + Send;
type RenderObjectInstancePerViewSubmitData: Sync + Send;
type SubmitNodeData: Sync + Send;
type RenderFeature: RenderFeature;
}
Expand description
The SubmitPacket
is the data that must be prepared from
in order for the RenderFeature
’s WriteJob
to create each
draw call. The draw calls may reference data in either the
FramePacket
or the SubmitPacket
. Each draw call is represented
by exactly 1 SubmitNode
. In order to allocate the SubmitPacket
,
the RenderFeature
is given a reference to the populated FramePacket
from that frame. The RenderFeature
must size the SubmitPacket
appropriately. The SubmitPacket
must be considered
immutable after the Prepare
step has finished.
Required Associated Types§
sourcetype PerFrameSubmitData: Sync + Send
type PerFrameSubmitData: Sync + Send
All data that is either unassociated with or shared by
any of the submit nodes across each RenderView
.
sourcetype RenderObjectInstanceSubmitData: Sync + Send
type RenderObjectInstanceSubmitData: Sync + Send
All data for any submit nodes associated with a particular
Entity
and RenderObject
.
sourcetype PerViewSubmitData: Sync + Send
type PerViewSubmitData: Sync + Send
All data that can be shared by the submit nodes for
this RenderFeature
’s WriteJob
in this RenderView
and RenderPhase
.
sourcetype RenderObjectInstancePerViewSubmitData: Sync + Send
type RenderObjectInstancePerViewSubmitData: Sync + Send
All data for any submit nodes associated with a particular
Entity
, RenderObject
, and RenderView
.
sourcetype SubmitNodeData: Sync + Send
type SubmitNodeData: Sync + Send
The data needed by this RenderFeature
’s WriteJob
for
each draw call in this RenderView
and RenderPhase
.
sourcetype RenderFeature: RenderFeature
type RenderFeature: RenderFeature
The RenderFeature
associated with the SubmitNodeBlock
s.
This is used to find the correct WriteJob
when writing
the PreparedRenderData
.