Skip to main content

scenix_renderer/
lib.rs

1//! wgpu renderer, GPU scene upload, passes, and frame orchestration for scenix.
2//!
3//! This crate is intentionally the first GPU-dependent layer in scenix. CPU-side
4//! crates keep owning authoring data; this crate owns upload, render-target
5//! allocation, render-pass scheduling, and pipeline caching.
6
7pub mod config;
8pub mod frame;
9pub mod gbuffer;
10pub mod gpu_scene;
11pub mod material;
12pub mod pass;
13pub mod pipeline_cache;
14pub mod renderer;
15mod shadow;
16
17pub use config::{RenderTargetMode, RendererConfig};
18pub use frame::{FrameContext, FrameStats};
19pub use gbuffer::GBuffer;
20pub use gpu_scene::{
21    DrawSubmission, GpuIndexFormat, GpuMesh, GpuScene, GpuTexture, PackedGeometry, PackedVertex,
22    RendererLight, RendererMaterial, TextureStore, to_wgpu_address_mode, to_wgpu_compare,
23    to_wgpu_filter_mode, to_wgpu_texture_format,
24};
25pub use material::{GpuMaterial, MaterialUniform};
26pub use pass::culling::{CullingStats, collect_visible_draws};
27pub use pass::sort::{sort_opaque_front_to_back, sort_transparent_back_to_front};
28pub use pipeline_cache::{PipelineCache, RenderPassKind, RendererPipelineKey};
29pub use renderer::Renderer;
30pub use shadow::ShadowMapAtlas;
31
32pub use wgpu;