Skip to main content

anvilkit_render/renderer/
mod.rs

1//! # 渲染器模块
2//!
3//! 提供基于 wgpu 的跨平台图形渲染功能,包括设备管理、表面配置和渲染管线。
4//!
5//! ## 核心组件
6//!
7//! - **RenderDevice**: GPU 设备和适配器管理
8//! - **RenderSurface**: 窗口表面和交换链管理
9//! - **RenderPipeline**: 渲染管线抽象
10//! - **RenderState**: ECS 共享渲染状态
11//! - **RenderAssets**: GPU 资产管理
12//!
13//! ## 设计理念
14//!
15//! 本模块采用现代图形 API 设计,支持多种后端(Vulkan、Metal、D3D12、OpenGL、WebGPU),
16//! 提供高性能的零成本抽象和灵活的渲染管线配置。
17
18pub mod device;
19pub mod surface;
20pub mod pipeline;
21pub mod buffer;
22pub mod assets;
23pub mod draw;
24pub mod state;
25pub mod ibl;
26pub mod sprite;
27pub mod ui;
28pub mod particle;
29pub mod debug;
30pub mod raycast;
31pub mod line;
32pub mod text;
33pub mod buffer_pool;
34
35// 重新导出主要类型
36pub use device::RenderDevice;
37pub use surface::RenderSurface;
38pub use pipeline::{RenderPipelineBuilder, BasicRenderPipeline};
39pub use buffer::{
40    Vertex, ColorVertex, MeshVertex, PbrVertex, SkinnedVertex,
41    create_vertex_buffer, create_index_buffer, create_index_buffer_u32,
42    create_uniform_buffer, create_depth_texture, create_hdr_render_target,
43    DEPTH_FORMAT, HDR_FORMAT,
44    create_texture, create_texture_linear, create_sampler,
45    create_shadow_map, create_shadow_sampler, SHADOW_MAP_SIZE,
46    create_depth_texture_msaa, create_hdr_msaa_texture, MSAA_SAMPLE_COUNT,
47};
48pub use state::{PbrSceneUniform, GpuLight, MAX_LIGHTS};
49
50#[cfg(test)]
51mod tests {
52    use super::*;
53
54    #[test]
55    fn test_module_exports() {
56        let _: Option<RenderDevice> = None;
57        let _: Option<RenderSurface> = None;
58        let _: Option<BasicRenderPipeline> = None;
59    }
60}