Skip to main content

RenderBundleEncoderInterface

Trait RenderBundleEncoderInterface 

pub trait RenderBundleEncoderInterface: CommonTraits {
    // Required methods
    fn set_pipeline(&mut self, pipeline: &DispatchRenderPipeline);
    fn set_bind_group(
        &mut self,
        index: u32,
        bind_group: Option<&DispatchBindGroup>,
        offsets: &[u32],
    );
    fn set_index_buffer(
        &mut self,
        buffer: &DispatchBuffer,
        index_format: IndexFormat,
        offset: u64,
        size: Option<NonZero<u64>>,
    );
    fn set_vertex_buffer(
        &mut self,
        slot: u32,
        buffer: &DispatchBuffer,
        offset: u64,
        size: Option<NonZero<u64>>,
    );
    fn set_immediates(&mut self, offset: u32, data: &[u8]);
    fn draw(&mut self, vertices: Range<u32>, instances: Range<u32>);
    fn draw_indexed(
        &mut self,
        indices: Range<u32>,
        base_vertex: i32,
        instances: Range<u32>,
    );
    fn draw_indirect(
        &mut self,
        indirect_buffer: &DispatchBuffer,
        indirect_offset: u64,
    );
    fn draw_indexed_indirect(
        &mut self,
        indirect_buffer: &DispatchBuffer,
        indirect_offset: u64,
    );
    fn finish(
        self,
        desc: &RenderBundleDescriptor<Option<&str>>,
    ) -> DispatchRenderBundle
       where Self: Sized;
}

Required Methods§

fn set_pipeline(&mut self, pipeline: &DispatchRenderPipeline)

fn set_bind_group( &mut self, index: u32, bind_group: Option<&DispatchBindGroup>, offsets: &[u32], )

fn set_index_buffer( &mut self, buffer: &DispatchBuffer, index_format: IndexFormat, offset: u64, size: Option<NonZero<u64>>, )

fn set_vertex_buffer( &mut self, slot: u32, buffer: &DispatchBuffer, offset: u64, size: Option<NonZero<u64>>, )

fn set_immediates(&mut self, offset: u32, data: &[u8])

fn draw(&mut self, vertices: Range<u32>, instances: Range<u32>)

fn draw_indexed( &mut self, indices: Range<u32>, base_vertex: i32, instances: Range<u32>, )

fn draw_indirect( &mut self, indirect_buffer: &DispatchBuffer, indirect_offset: u64, )

fn draw_indexed_indirect( &mut self, indirect_buffer: &DispatchBuffer, indirect_offset: u64, )

fn finish( self, desc: &RenderBundleDescriptor<Option<&str>>, ) -> DispatchRenderBundle
where Self: Sized,

Implementors§