nate_engine_core/renderer.rs
1//!
2//! Renderer Trait for Rendering Systems
3//!
4
5use std::fmt::Debug;
6use std::sync::{Arc, RwLock};
7
8/// Rendering Engine Trait
9pub trait Renderer<WORLD: Send + Sync + 'static>: Send + Sync {
10 type Error: Debug;
11
12 /// Render the necessary contents of the world
13 fn render(&mut self, world: Arc<RwLock<WORLD>>) -> Result<(), Self::Error>;
14}