Trait RenderBackend
Source pub trait RenderBackend {
Show 30 methods
// Required methods
fn new_buffer(
&mut self,
data: BufferData,
source: BufferSource<'_>,
) -> RawBufferID;
fn buffer_update(&mut self, dest: RawBufferID, source: &BufferSource<'_>);
fn delete_buffer(&mut self, id: RawBufferID);
fn new_texture(&mut self, data: &TextureData) -> RawTextureID;
fn texture_update(&mut self, dest: RawTextureID, data: &TextureData);
fn texture_set_mag_filter(&mut self, id: RawTextureID, filter: FilterMode);
fn texture_set_wrap(
&mut self,
id: RawTextureID,
wrap: (TextureWrap, TextureWrap),
);
fn texture_generate_mipmaps(&mut self, id: RawTextureID);
fn texture_read_pixels(
&mut self,
id: RawTextureID,
dest: &mut TextureSource,
);
fn texture_update_portion(
&mut self,
id: RawTextureID,
rect: Rect2P,
source: &TextureSource,
);
fn delete_texture(&mut self, id: RawTextureID);
fn new_render_pass(
&mut self,
texture: RawTextureID,
depth: Option<RawTextureID>,
) -> RawRenderPassID;
fn delete_render_pass(&mut self, id: RawRenderPassID);
fn new_pipeline(&mut self, data: &PipelineData) -> RawPipelineID;
fn apply_pipeline(&mut self, pipeline: RawPipelineID);
fn delete_pipeline(&mut self, pipeline: RawPipelineID);
fn new_shader(
&mut self,
data: &ShaderData,
) -> Result<RawShaderID, ShaderError>;
fn delete_shader(&mut self, program: RawShaderID);
fn apply_viewport(&mut self, viewport: Rect2P);
fn apply_scissor(&mut self, scissor: Rect2P);
fn apply_bindings_view(&mut self, binding: BindingsView<'_>);
fn apply_uniforms_from_bytes(&mut self, uniform_ptr: &[u8]);
fn clear(&mut self, data: ClearData);
fn begin_default_pass(&mut self, action: PassAction);
fn begin_pass(&mut self, pass: Option<RawRenderPassID>, action: PassAction);
fn end_render_pass(&mut self);
fn end_frame(&mut self);
fn draw(
&mut self,
base_element: usize,
num_elements: usize,
num_instances: usize,
);
// Provided methods
fn apply_bindings(&mut self, binding: &Bindings) { ... }
fn apply_uniforms(&mut self, uniforms: UniformsSource<'_>) { ... }
}