docs.rs failed to build ash_renderer-0.2.5
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
ash_renderer-0.4.30
ASH Renderer
A production-read Vulkan renderer built with ASH and VMA. Designed for high-performance games and graphics applications, featuring ECS-independence and deep GPU optimization.
✨ Features (v0.2.5)
[!IMPORTANT] Release 0.2.5 improves shader loading safety by fixing memory alignment issues that could cause crashes on some platforms. It also includes troubleshooting steps for common runtime errors.
Check out what's new!
- 🔒 Safer Shader Loading: Fixed potential undefined behavior when loading embedded SPIR-V shaders.
- 🛠️ Troubleshooting Guide: Added documentation for resolving common runtime crashes (
0xc000041d).
Check out what's new!
- 🔒 Safer Shader Loading: Fixed potential undefined behavior when loading embedded SPIR-V shaders.
- 🛠️ Troubleshooting Guide: Added documentation for resolving common runtime crashes (
0xc000041d). - 🎨 Bindless Texturing: Fully dynamic texture access using
descriptor_indexing. Supports thousands of textures with zero binding overhead. - 🖥️ Headless Support: Run heavy rendering workloads or benchmarks on CI without a window (virtual swapchain).
- 🌑 Advanced Shadows: Cascaded Shadow Maps (CSM) with PCF filtering and light culling.
Core Capabilities
- PBR Materials: Metallic/Roughness workflow with texture mapping.
- Post-Processing: Integrated Bloom, Tonemapping (ACES), and TAA.
- GPU Profiling: Built-in Diagnostics Overlay and timestamp queries.
- Hot-Reloading: Detects shader changes at runtime (experimental).
- Cross-Platform: Runs on Windows (Win32), Linux (X11/Wayland), and macOS (Metal) via a unified
SurfaceProvider.
🚀 Quick Start
Add to your Cargo.toml:
[]
= "0.2.5"
= "0.30"
= "0.30"
Initialization
use ;
use EventLoop;
🔌 Headless Benchmarking
Run graphics benchmarks in purely headless mode (no window required):
use ;
// Initialize without winit/window
let provider = new;
let mut renderer = new?;
// Loop as fast as GPU allows (no VSync)
for _ in 0..1000
🛠️ Performance
| Metric | Target | Achieved (v0.2.5) |
|---|---|---|
| Draw Calls (Bindless) | 10k+ | ✅ |
| Headless FPS | Unlocked | ✅ |
| Texture Switches | Zero Cost | ✅ |
📦 Feature Flags
| Feature | Description | Default |
|---|---|---|
validation |
Enables Vulkan Validation Layers | ✅ |
gltf_loading |
Support for loading .gltf/.glb models | ✅ |
profiling |
Enables GPU timestamp queries | ❌ |
📜 License
Licensed under Apache-2.0.
Troubleshooting (Windows)
[!WARNING] If you encounter
exit code: 0xc000041don Windows, this is a Fatal User Callback Exception.Possible causes and fixes:
- Overlay interference: Disable Discord/Steam/NVIDIA overlays.
- Driver Hooks: Update GPU drivers or verify no other software hooks
vulkan-1.dll.- Validation Layers: The application enables validation layers by default. If the crash persists, use
--no-default-features(requiresgltf_loading).