syrillian_render 0.7.1

Renderer of the Syrillian Game Engine
Documentation
use crate::rendering::state::StateError;
use snafu::Snafu;
use wgpu::SurfaceError;

pub type Result<T, E = RenderError> = std::result::Result<T, E>;

#[derive(Debug, Snafu)]
#[snafu(context(suffix(Err)), visibility(pub(crate)))]
pub enum RenderError {
    #[snafu(display("Render data should've been set"))]
    DataNotSet,

    #[snafu(display("Render pipeline is not set"))]
    NoRenderPipeline,

    #[snafu(display("Invalid Shader requested"))]
    InvalidShader,

    #[snafu(display("No camera set for rendering"))]
    NoCameraSet,

    #[snafu(display("Rendering camera doesn't have a camera component"))]
    NoCameraComponentSet,

    #[snafu(display("Light UBGL was not created"))]
    NoLightUBGL,

    #[snafu(display("Error with current render surface: {source}"))]
    Surface { source: SurfaceError },

    #[snafu(display("Failed to create render state: {source}"))]
    State { source: StateError },
}