Trait truck_platform::Rendered
source · pub trait Rendered {
fn render_id(&self) -> RenderID;
fn vertex_buffer(
&self,
device_handler: &DeviceHandler
) -> (Arc<BufferHandler>, Option<Arc<BufferHandler>>);
fn bind_group_layout(
&self,
device_handler: &DeviceHandler
) -> Arc<BindGroupLayout>;
fn bind_group(
&self,
device_handler: &DeviceHandler,
layout: &BindGroupLayout
) -> Arc<BindGroup>;
fn pipeline(
&self,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
scene_descriptor: &SceneDescriptor
) -> Arc<RenderPipeline>;
}
Expand description
Rendered objects in the scene.
Required Methods§
sourcefn render_id(&self) -> RenderID
fn render_id(&self) -> RenderID
Returns the render id.
RenderID
is a key that maps self
to a drawing element.
Each object must have a RenderID to ensure that there are no duplicates.
sourcefn vertex_buffer(
&self,
device_handler: &DeviceHandler
) -> (Arc<BufferHandler>, Option<Arc<BufferHandler>>)
fn vertex_buffer(
&self,
device_handler: &DeviceHandler
) -> (Arc<BufferHandler>, Option<Arc<BufferHandler>>)
Creates the pair (vertex buffer, index buffer).
sourcefn bind_group_layout(
&self,
device_handler: &DeviceHandler
) -> Arc<BindGroupLayout>
fn bind_group_layout(
&self,
device_handler: &DeviceHandler
) -> Arc<BindGroupLayout>
Creates the bind group layout.
sourcefn bind_group(
&self,
device_handler: &DeviceHandler,
layout: &BindGroupLayout
) -> Arc<BindGroup>
fn bind_group(
&self,
device_handler: &DeviceHandler,
layout: &BindGroupLayout
) -> Arc<BindGroup>
Creates the bind group in set = 1
.
sourcefn pipeline(
&self,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
scene_descriptor: &SceneDescriptor
) -> Arc<RenderPipeline>
fn pipeline(
&self,
device_handler: &DeviceHandler,
layout: &PipelineLayout,
scene_descriptor: &SceneDescriptor
) -> Arc<RenderPipeline>
Creates the render pipeline.