pub mod acoustic_render;
pub mod animation;
pub mod batch;
pub mod capabilities;
pub mod color;
pub mod compute;
pub mod debug_draw;
pub mod drm;
pub mod egui_bridge;
pub mod em_render;
pub mod environment;
pub mod error;
pub mod fluid_render;
pub mod gltf_loader;
pub mod gpu;
pub mod gpu_particles;
pub mod hdr;
pub mod instancing;
pub mod lights;
pub mod lod;
pub mod material;
pub(crate) mod math_util;
pub mod mesh_pipeline;
pub mod pbr_material;
pub mod pipeline;
pub mod postprocess;
pub mod primitives;
pub mod profiler;
pub mod render_graph;
pub mod render_target;
pub mod screenshot;
pub mod shadow;
pub mod sprite;
pub mod ssao;
pub mod terrain;
pub mod text;
pub mod texture;
pub mod thermo_render;
pub mod ui;
pub mod vertex;
pub mod window;
pub use capabilities::{GpuCapabilities, SooratCapabilities};
pub use color::{Color, visualization_heat_map};
pub use error::{RenderError, Result};
pub use gpu::{GpuContext, GpuContextBuilder};
pub use profiler::{FrameProfiler, GpuTimestamps, PassTiming, ProfileScope};
pub use vertex::{SkinnedVertex3D, Vertex2D, Vertex3D};
pub use window::{Window, WindowConfig};
pub use compute::{
ComputePipeline, PingPongBuffer, validate_dispatch, workgroups_1d, workgroups_2d,
};
pub use gpu_particles::{GpuParticle, GpuParticleSystem, SimParams};
pub use instancing::{InstanceBuffer, InstanceData};
pub use lod::{LodChain, TerrainLod};
pub use render_graph::{PassType, RenderGraph};
pub use environment::{EnvironmentMap, IblBindGroup};
pub use fluid_render::{FluidColorMode, ParticleColorParams};
pub use acoustic_render::{AcousticColorMode, AcousticVisParams, DecayCurveParams};
pub use em_render::{EmColorMode, EmVisParams};
pub use thermo_render::{CycleDiagramParams, ThermalColorMode, ThermalVisParams};
pub use egui_bridge::ViewportSize;
pub use pipeline::{
FrameStats, SpriteBuffers, SpritePipeline, batch_to_vertices, batch_to_vertices_into,
batch_to_vertices_u32,
};
pub use sprite::{Sprite, SpriteBatch, UvRect};
pub use texture::{
CubemapTexture, Texture, TextureCache, copy_texture_to_texture, create_default_sampler,
mip_level_count, validate_dimensions,
};
pub use mesh_pipeline::{
CameraUniforms, DepthBuffer, LightUniforms, Mesh, MeshPipeline, ShadowPassUniforms,
};
pub use pbr_material::MaterialUniforms;
pub use lights::{GpuLight, LightArrayUniforms};
pub use shadow::{
CascadeUniforms, CascadedShadowMap, PointShadowMap, ShadowAtlas, ShadowAtlasConfig, ShadowMap,
ShadowPipeline, ShadowUniforms,
};
pub use animation::{AnimationClip, JointUniforms, Skeleton};
pub use debug_draw::{LineBatch, LinePipeline, LineVertex};
pub use hdr::{BloomPipeline, BloomUniforms, HdrFramebuffer};
pub use postprocess::{PostProcessPipeline, PostProcessUniforms, ToneMapMode};
pub use ssao::{SsaoPipeline, SsaoUniforms};
pub use render_target::{RenderTarget, RenderTargetBuilder};
pub use screenshot::{ScreenshotFormat, capture_render_target, encode_pixels, save_to_file};
pub use terrain::{TerrainConfig, TerrainData};
pub use text::{BitmapFont, TextBatch};
pub use ui::{UiBatch, UiLabel, UiPanel};
#[deprecated(since = "1.0.0", note = "use MaterialUniforms for PBR")]
pub use material::Material;