use super::*;
#[derive(Clone, Copy, Data, Debug, New, PartialEq)]
pub struct RayTraceSettings {
#[get(type(copy))]
pub samples_per_axis: u32,
#[get(type(copy))]
pub max_bounces: u32,
}
#[derive(Clone, Copy, Data, Debug, PartialEq)]
pub(crate) struct FrameBasis {
#[get(pub(crate), type(copy))]
pub(crate) eye: Vector3D,
#[get(pub(crate), type(copy))]
pub(crate) forward: Vector3D,
#[get(pub(crate), type(copy))]
pub(crate) right: Vector3D,
#[get(pub(crate), type(copy))]
pub(crate) up: Vector3D,
#[get(pub(crate), type(copy))]
pub(crate) tan_half_fov: f64,
#[get(pub(crate), type(copy))]
pub(crate) aspect: f64,
#[get(pub(crate), type(copy))]
pub(crate) width: u32,
#[get(pub(crate), type(copy))]
pub(crate) height: u32,
#[get(pub(crate), type(copy))]
pub(crate) near_t: f64,
#[get(pub(crate), type(copy))]
pub(crate) far_t: f64,
}