#![warn(missing_docs)]
pub use cli::TracerCli;
pub use image::Image;
pub use perlin::Perlin;
pub use renderer::Renderer;
pub use tone_mapping::ToneMap;
pub mod parser;
pub mod tracer;
mod cli;
mod efloat;
mod image;
mod perlin;
mod rand_utils;
mod renderer;
mod samplers;
mod tone_mapping;
type Transform = glam::DAffine3;
type Vec2 = glam::DVec2;
pub type Mat3 = glam::DMat3;
pub type Vec3 = glam::DVec3;
pub type Float = f64;
pub const PI: Float = std::f64::consts::PI;
const INF: Float = f64::INFINITY;
const NEG_INF: Float = f64::NEG_INFINITY;
const EPSILON: Float = 1e-10;
type Normal = Vec3;
type Direction = Vec3;
type Point = Vec3;
#[derive(Copy, Clone)]
pub enum Transport {
Radiance = 0,
Importance = 1,
}
#[derive(Copy, Clone)]
pub enum Axis {
X,
Y,
Z,
}