mod buffer;
mod camera;
mod canvas;
mod color;
mod context;
pub mod error {
pub use crate::{
canvas::Error as CanvasError,
mesh::{Error as MeshError, UpdateError as MeshUpdateError},
shader_data::{
DataError, InvalidInstanceSize, InvalidMapSize, LightsUpdateError, SpacesUpdateError,
},
};
}
mod frame;
mod framebuffer {
mod buffer;
mod depth_frame;
mod render_frame;
pub(crate) use self::buffer::{BufferSize, Framebuffer};
}
mod layer;
mod r#loop;
mod mesh;
mod pipeline;
mod posteffect;
mod postproc;
mod render;
mod scheme;
mod screen;
mod shader_data {
mod ambient;
mod data;
pub(crate) mod globals;
mod instance;
mod len;
pub(crate) mod lights;
mod post;
mod source;
mod space;
pub(crate) mod spaces;
pub(crate) mod texture;
pub(crate) mod textures;
pub(crate) use self::post::PostShaderData;
pub use self::{
data::{Error as DataError, Format, SpaceData, TextureData},
globals::{Builder as GlobalsBuilder, Globals},
instance::{
Instance, InstanceColor, InvalidSize as InvalidInstanceSize, ModelColor, ModelTransform,
},
lights::{Builder as LightsBuilder, Lights, UpdateError as LightsUpdateError},
source::Source,
space::Space,
spaces::{Builder as SpacesBuilder, Spaces, UpdateError as SpacesUpdateError},
texture::{InvalidSize as InvalidMapSize, Texture},
textures::{Builder as TexturesBuilder, Map as MapParameter, Textures},
};
}
pub mod shader;
mod time;
pub mod topology;
mod transform;
pub mod vertex;
pub mod input {
pub use crate::r#loop::{Input, Key, Keys, KeysIterator, Mouse};
}
#[cfg(not(target_arch = "wasm32"))]
pub use crate::canvas::window::{make_window, InitialState, WindowMode};
#[cfg(target_arch = "wasm32")]
pub use crate::canvas::from_element;
#[cfg(target_os = "android")]
pub use crate::canvas::android::from_app;
pub use {
crate::{
camera::{Orthographic, Perspective, Projection, View},
canvas::{Backend, Canvas, CanvasConfig, Device, Info, Selector},
color::{Color, Rgb, Rgba},
context::{Context, FrameParameters, PixelSize},
frame::Frame,
input::Input,
layer::{ActiveLayer, Builder as ActiveLayerBuilder, Layer},
mesh::{Data as MeshData, Mesh},
pipeline::{Blend, Compare, DrawMode, LayerBuilder},
posteffect::{Builder as PostEffectBuilder, PostEffect},
postproc::FrameFilter,
r#loop::Loop,
scheme::Scheme,
shader::Shader,
shader_data::{
Format, Globals, GlobalsBuilder, Instance, InstanceColor, Lights, LightsBuilder,
MapParameter, ModelColor, ModelTransform, Source, Space, SpaceData, Spaces,
SpacesBuilder, Texture, TextureData, Textures, TexturesBuilder,
},
transform::Transform,
vertex::Vertex,
},
dunge_macros::Vertex,
glam, winit,
};