use super::*;
#[derive(Clone, Data, Debug)]
pub(crate) struct WebGlRayTraceTexture {
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) texture: WebGlTexture,
#[get(pub(crate), type(copy))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) width: i32,
#[get(pub(crate), type(copy))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) height: i32,
}
#[derive(Data, Debug)]
pub(crate) struct WebGlRayTraceBackend {
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) context: WebGl2RenderingContext,
#[get(pub(crate))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) program: WebGlProgram,
#[get(pub(crate))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) vao: WebGlVertexArrayObject,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) scene_texture: WebGlRayTraceTexture,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) frame_texture: WebGlRayTraceTexture,
#[get(pub(crate))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) scene_uniform: WebGlUniformLocation,
#[get(pub(crate))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) frame_uniform: WebGlUniformLocation,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) scene_scratch: Vec<f32>,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) frame_scratch: Vec<f32>,
#[get(pub(crate), type(copy))]
#[set(pub(crate))]
#[get_mut(pub(crate))]
pub(crate) dimension_limit_value: u32,
}