RenderingEngine

Trait RenderingEngine 

Source
pub trait RenderingEngine:
    Debug
    + Send
    + Sync {
    // Required methods
    fn initialize(&mut self, config: RenderingConfig) -> Result<()>;
    fn render_widget(
        &self,
        widget_render: &WidgetRender,
        context: &RenderContext,
    ) -> Result<()>;
    fn clear(&self, color: [f32; 4]) -> Result<()>;
    fn present(&self) -> Result<()>;
    fn capabilities(&self) -> RenderingCapabilities;
    fn create_shader(&self, program: &ShaderProgram) -> Result<String>;
    fn update_uniforms(
        &self,
        shader_id: &str,
        uniforms: &HashMap<String, UniformValue>,
    ) -> Result<()>;
    fn set_viewport(
        &self,
        x: u32,
        y: u32,
        width: u32,
        height: u32,
    ) -> Result<()>;
}
Expand description

Rendering engine trait

Required Methods§

Source

fn initialize(&mut self, config: RenderingConfig) -> Result<()>

Initialize rendering engine

Source

fn render_widget( &self, widget_render: &WidgetRender, context: &RenderContext, ) -> Result<()>

Render widget

Source

fn clear(&self, color: [f32; 4]) -> Result<()>

Clear render target

Source

fn present(&self) -> Result<()>

Present rendered frame

Source

fn capabilities(&self) -> RenderingCapabilities

Get rendering capabilities

Source

fn create_shader(&self, program: &ShaderProgram) -> Result<String>

Create shader program

Source

fn update_uniforms( &self, shader_id: &str, uniforms: &HashMap<String, UniformValue>, ) -> Result<()>

Update uniform values

Source

fn set_viewport(&self, x: u32, y: u32, width: u32, height: u32) -> Result<()>

Set viewport

Implementors§