Expand description
WebGPU-style backend abstraction layer for Proof Engine.
This module provides a GPU-API-agnostic abstraction that could be backed by
OpenGL, Vulkan, Metal, WebGPU, or a pure-software fallback. No actual wgpu
crate dependency is used — everything is expressed as engine-level abstractions.
§Sub-modules
backend— Core GPU backend enum, capabilities, handle types, and context traitrenderer— Multi-backend renderer with render passes and draw callscompute— Compute shader dispatch, storage buffers, and CPU fallbackshader_translate— Cross-compile shaders between GLSL, WGSL, SPIRV, HLSL, MSLabstraction— UnifiedGpuDevice/GpuQueuetraitsquality— Adaptive quality management and benchmarkingheadless— Off-screen rendering, thumbnails, and server-side rendering
Re-exports§
pub use backend::GpuBackend;pub use backend::BackendCapabilities;pub use backend::BackendContext;pub use backend::BufferHandle;pub use backend::TextureHandle;pub use backend::ShaderHandle;pub use backend::PipelineHandle;pub use backend::ComputePipelineHandle;pub use backend::BufferUsage;pub use backend::TextureFormat;pub use backend::ShaderStage;pub use renderer::MultiBackendRenderer;pub use compute::ComputeContext;pub use shader_translate::ShaderLanguage;pub use abstraction::GpuDevice;pub use abstraction::GpuQueue;pub use quality::QualityLevel;pub use quality::QualityManager;pub use headless::HeadlessRenderer;
Modules§
- abstraction
- Unified GPU abstraction layer:
GpuDeviceandGpuQueuetraits that provide a single API surface regardless of the underlying graphics backend. - backend
- Core GPU backend abstraction: enums, handle types, capability queries,
and the
BackendContexttrait that every concrete backend implements. - compute
- Compute shader support: storage buffers, dispatch, CPU fallback, profiling.
- headless
- Headless (off-screen) rendering: render scenes to pixel buffers without a window, generate thumbnails, batch-render, and server-side rendering.
- quality
- Adaptive quality management: auto-detect hardware capability, dynamically adjust rendering quality to maintain a target frame rate, and benchmarking.
- renderer
- Multi-backend renderer: render passes, draw calls, compute dispatch, buffer upload / readback, and vertex layout descriptions.
- shader_
translate - Shader translation between GLSL, WGSL, SPIRV (text), HLSL, and MSL. Includes reflection (extracting bindings, inputs, outputs) and validation.