pub(crate) mod batch;
#[cfg(all(feature = "window", feature = "3d"))]
mod gi;
#[cfg(feature = "window")]
mod gpu;
#[cfg(all(feature = "window", feature = "3d"))]
mod gpu3d;
#[cfg(all(feature = "window", feature = "3d"))]
mod lights;
#[cfg(all(feature = "window", feature = "3d"))]
mod mips;
#[cfg(not(feature = "window"))]
mod none;
#[cfg(all(feature = "window", feature = "3d"))]
mod occlusion;
#[cfg(all(feature = "window", feature = "3d"))]
mod particles;
#[cfg(all(feature = "window", feature = "3d"))]
mod screen;
#[cfg(all(feature = "window", feature = "3d"))]
mod smaa;
#[cfg(all(feature = "window", feature = "3d"))]
mod ssr;
#[cfg(all(feature = "window", feature = "3d"))]
mod taa;
#[cfg(feature = "window")]
mod timer;
#[cfg(feature = "window")]
pub(crate) use gpu::Renderer;
#[cfg(all(feature = "window", feature = "3d"))]
pub(crate) use gpu3d::{check_shader, compose_compute, compose_effect, compose_shader};
#[cfg(not(feature = "window"))]
pub(crate) use none::Renderer;
#[derive(Debug, Clone, Copy, Default, PartialEq)]
pub struct RenderStats {
pub sprites: usize,
pub draw_calls: usize,
pub cpu_ms: f32,
pub gpu_ms: Option<f32>,
pub collect_ms: f32,
pub record_ms: f32,
pub submit_ms: f32,
pub instances: usize,
pub triangles: usize,
pub shadow_instances: usize,
pub shadow_triangles: usize,
pub occluded: usize,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) enum FrameStatus {
Presented,
Occluded,
Skipped,
Offscreen,
}
pub(crate) struct Screenshot {
pub width: u32,
pub height: u32,
pub rgba: Vec<u8>,
}
#[cfg(all(test, feature = "window", feature = "3d"))]
mod atlas_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod buffer_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod contact_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod coverage_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod effect_shadow_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod far_terrain_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod gi_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod light_shadow_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod lights_bench;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod lod_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod occlusion_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod shafts_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod skin_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod ssr_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod text3d_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod ao_aa_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod taa_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod environment_render_test;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod decal_render_test;
#[cfg(all(feature = "window", feature = "3d"))]
mod environment;
#[cfg(all(test, feature = "window", feature = "3d"))]
mod quality_render_test;