Crate ash_renderer

Crate ash_renderer 

Source
Expand description

§ASH Renderer

A Vulkan rendering library built with ASH and VMA. This is an experimental renderer focusing on modern techniques (GPU-driven culling, SSGI, VSR) in a standalone, ECS-free architecture.

§Status

This crate is in early development. APIs are subject to frequent change. It is primarily a testbed for advanced rendering features.

Stable Versions: 0.1.2, 0.3.8, 0.3.9, 0.4.0, 0.4.1.

§Quick Start

use ash_renderer::{Renderer, Result};
use winit::window::Window;

fn main() -> Result<()> {
    let window = create_window();
    let mut renderer = Renderer::new(&window)?;

    // Main loop
    renderer.render_frame()?;
    Ok(())
}

§Architecture

The crate is organized into two main tiers:

  • vulkan: Low-level Vulkan abstractions (internal)
  • renderer: High-level rendering API (public)

Re-exports§

pub use renderer::features::AutoRotateFeature;
pub use renderer::features::FeatureManager;
pub use renderer::features::RenderFeature;

Modules§

prelude
Prelude module for convenient imports
renderer
High-level renderer module.
vulkan

Enums§

AshError
Main error type for the renderer.

Type Aliases§

Result
Convenient Result type alias for renderer operations.