[][src]Trait bevy_render::renderer::RenderResourceContext

pub trait RenderResourceContext: Downcast + Send + Sync + 'static {
    fn create_swap_chain(&self, window: &Window);
fn next_swap_chain_texture(&self, window: &Window) -> TextureId;
fn drop_swap_chain_texture(&self, resource: TextureId);
fn drop_all_swap_chain_textures(&self);
fn create_sampler(
        &self,
        sampler_descriptor: &SamplerDescriptor
    ) -> SamplerId;
fn create_texture(&self, texture_descriptor: TextureDescriptor) -> TextureId;
fn create_buffer(&self, buffer_info: BufferInfo) -> BufferId;
fn write_mapped_buffer(
        &self,
        id: BufferId,
        range: Range<u64>,
        write: &mut dyn FnMut(&mut [u8], &dyn RenderResourceContext)
    );
fn map_buffer(&self, id: BufferId);
fn unmap_buffer(&self, id: BufferId);
fn create_buffer_with_data(
        &self,
        buffer_info: BufferInfo,
        data: &[u8]
    ) -> BufferId;
fn create_shader_module(
        &self,
        shader_handle: &Handle<Shader>,
        shaders: &Assets<Shader>
    );
fn create_shader_module_from_source(
        &self,
        shader_handle: &Handle<Shader>,
        shader: &Shader
    );
fn remove_buffer(&self, buffer: BufferId);
fn remove_texture(&self, texture: TextureId);
fn remove_sampler(&self, sampler: SamplerId);
fn get_buffer_info(&self, buffer: BufferId) -> Option<BufferInfo>;
fn set_asset_resource_untyped(
        &self,
        handle: HandleUntyped,
        resource: RenderResourceId,
        index: u64
    );
fn get_asset_resource_untyped(
        &self,
        handle: HandleUntyped,
        index: u64
    ) -> Option<RenderResourceId>;
fn remove_asset_resource_untyped(&self, handle: HandleUntyped, index: u64);
fn create_render_pipeline(
        &self,
        pipeline_handle: Handle<PipelineDescriptor>,
        pipeline_descriptor: &PipelineDescriptor,
        shaders: &Assets<Shader>
    );
fn bind_group_descriptor_exists(
        &self,
        bind_group_descriptor_id: BindGroupDescriptorId
    ) -> bool;
fn create_bind_group(
        &self,
        bind_group_descriptor_id: BindGroupDescriptorId,
        bind_group: &BindGroup
    );
fn clear_bind_groups(&self); }

Required methods

fn create_swap_chain(&self, window: &Window)

fn next_swap_chain_texture(&self, window: &Window) -> TextureId

fn drop_swap_chain_texture(&self, resource: TextureId)

fn drop_all_swap_chain_textures(&self)

fn create_sampler(&self, sampler_descriptor: &SamplerDescriptor) -> SamplerId

fn create_texture(&self, texture_descriptor: TextureDescriptor) -> TextureId

fn create_buffer(&self, buffer_info: BufferInfo) -> BufferId

fn write_mapped_buffer(
    &self,
    id: BufferId,
    range: Range<u64>,
    write: &mut dyn FnMut(&mut [u8], &dyn RenderResourceContext)
)

fn map_buffer(&self, id: BufferId)

fn unmap_buffer(&self, id: BufferId)

fn create_buffer_with_data(
    &self,
    buffer_info: BufferInfo,
    data: &[u8]
) -> BufferId

fn create_shader_module(
    &self,
    shader_handle: &Handle<Shader>,
    shaders: &Assets<Shader>
)

fn create_shader_module_from_source(
    &self,
    shader_handle: &Handle<Shader>,
    shader: &Shader
)

fn remove_buffer(&self, buffer: BufferId)

fn remove_texture(&self, texture: TextureId)

fn remove_sampler(&self, sampler: SamplerId)

fn get_buffer_info(&self, buffer: BufferId) -> Option<BufferInfo>

fn set_asset_resource_untyped(
    &self,
    handle: HandleUntyped,
    resource: RenderResourceId,
    index: u64
)

fn get_asset_resource_untyped(
    &self,
    handle: HandleUntyped,
    index: u64
) -> Option<RenderResourceId>

fn remove_asset_resource_untyped(&self, handle: HandleUntyped, index: u64)

fn create_render_pipeline(
    &self,
    pipeline_handle: Handle<PipelineDescriptor>,
    pipeline_descriptor: &PipelineDescriptor,
    shaders: &Assets<Shader>
)

fn bind_group_descriptor_exists(
    &self,
    bind_group_descriptor_id: BindGroupDescriptorId
) -> bool

fn create_bind_group(
    &self,
    bind_group_descriptor_id: BindGroupDescriptorId,
    bind_group: &BindGroup
)

fn clear_bind_groups(&self)

Loading content...

Implementations

impl dyn RenderResourceContext[src]

pub fn set_asset_resource<T>(
    &self,
    handle: &Handle<T>,
    resource: RenderResourceId,
    index: u64
) where
    T: Asset
[src]

pub fn get_asset_resource<T>(
    &self,
    handle: &Handle<T>,
    index: u64
) -> Option<RenderResourceId> where
    T: Asset
[src]

pub fn remove_asset_resource<T>(&self, handle: &Handle<T>, index: u64) where
    T: Asset
[src]

impl dyn RenderResourceContext[src]

pub fn is<__T: RenderResourceContext>(&self) -> bool[src]

Returns true if the trait object wraps an object of type __T.

pub fn downcast<__T: RenderResourceContext>(
    self: Box<Self>
) -> Result<Box<__T>, Box<Self>>
[src]

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn't.

pub fn downcast_rc<__T: RenderResourceContext>(
    self: Rc<Self>
) -> Result<Rc<__T>, Rc<Self>>
[src]

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn't.

pub fn downcast_ref<__T: RenderResourceContext>(&self) -> Option<&__T>[src]

Returns a reference to the object within the trait object if it is of type __T, or None if it isn't.

pub fn downcast_mut<__T: RenderResourceContext>(&mut self) -> Option<&mut __T>[src]

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn't.

Implementors

impl RenderResourceContext for HeadlessRenderResourceContext[src]

Loading content...