1pub mod blend_renderer;
9pub mod blur_pipeline;
10pub mod border;
11pub mod chain_textures;
12pub mod comp_pipeline;
13pub mod config;
14pub mod custom_shape;
15pub mod custom_wave;
16pub mod error;
17pub mod final_blend;
18pub mod gpu_context;
19pub mod motion_vector;
20pub mod noise;
21pub mod per_pixel_pipeline;
22pub mod per_vertex_pipeline;
23mod pipeline_helpers;
24pub mod render_chain;
25pub mod renderer;
26pub mod sprite_pipeline;
27pub mod text_pipeline;
28pub mod texture_pool;
29pub mod user_warp_pipeline;
30pub mod warp_mesh;
31pub mod warp_pipeline;
32pub mod waveform;
33
34pub use blend_renderer::BlendRenderer;
35pub use blur_pipeline::BlurPipeline;
36pub use border::{BORDER_VERTICES_PER_RING, BorderRenderer, BorderUniform};
37pub use chain_textures::ChainTextures;
38pub use comp_pipeline::CompPipeline;
39pub use config::{
40 AudioLevels, BorderParams, FeedbackParams, MeshQuality, MeshSize, MotionParams,
41 MotionVectorParams, RenderConfig, RenderState, TextureFormat, WaveParams,
42};
43pub use custom_shape::{
44 CustomShapeBatch, CustomShapeInstance, CustomShapeRenderer, MAX_CUSTOM_SHAPE_INSTANCES,
45 MAX_SHAPE_SIDES, ShapeFlags,
46};
47pub use custom_wave::{
48 CustomWaveBatch, CustomWaveRenderer, CustomWaveVertex, MAX_CUSTOM_WAVE_VERTICES,
49};
50pub use error::{RenderError, Result};
51pub use final_blend::{BlendUniforms, FinalBlendPipeline};
52pub use gpu_context::GpuContext;
53pub use motion_vector::{MAX_MOTION_VECTOR_SEGMENTS, MotionVectorRenderer};
54pub use per_pixel_pipeline::{PerPixelPipeline, PixelVarsUniform};
55pub use per_vertex_pipeline::{PerVertexPipeline, VertexVarsUniform};
56pub use render_chain::RenderChain;
57pub use renderer::MilkRenderer;
58pub use sprite_pipeline::{
59 MAX_ACTIVE_SPRITES, SpriteBlendKind, SpriteDrawCmd, SpriteFrame, SpritePipeline, SpritePool,
60 SpriteTexture, build_sprite_uniform, default_sprite_dirs, pick_first_existing,
61};
62pub use text_pipeline::{TEXT_ATLAS_SIZE, TextAtlas, TextFrame, TextPipeline, TextQuadVertex};
63pub use texture_pool::{TexturePool, UserTexture, default_texture_dirs};
64pub use warp_mesh::{WarpMesh, WarpMeshVertex};
65pub use warp_pipeline::{WarpPipeline, WarpVertex};
66pub use waveform::{WavePoint, WaveformMode, WaveformRenderer};
67
68#[cfg(test)]
69mod tests {
70 use super::*;
71
72 #[test]
73 fn test_create_renderer() {
74 let config = RenderConfig::default();
75 let renderer = pollster::block_on(MilkRenderer::new(config));
76 assert!(renderer.is_ok());
77 }
78}