2020-03-29 20:41:19 +02:00
|
|
|
//! Define the different kinds of renderers for use on a given scene.
|
2020-03-29 21:23:42 +02:00
|
|
|
use image::RgbImage;
|
|
|
|
|
|
|
|
/// Each renderer implements this trait, to be called after being built.
|
|
|
|
pub trait Renderer {
|
|
|
|
/// Render the [`Scene`] using the chosen rendering technique.
|
|
|
|
///
|
|
|
|
/// [`Scene`]: ../scene/scene/struct.Scene.html
|
|
|
|
fn render(&self) -> RgbImage;
|
|
|
|
}
|
2020-03-29 20:41:19 +02:00
|
|
|
|
2020-03-30 02:04:37 +02:00
|
|
|
mod pathtrace;
|
|
|
|
pub use pathtrace::*;
|
|
|
|
|
2020-03-29 20:41:19 +02:00
|
|
|
mod raytracer;
|
|
|
|
pub use raytracer::*;
|
|
|
|
|
|
|
|
pub(crate) mod utils;
|