Skip to content

Provides an abstraction layer above ash to easier use Vulkan in Rust with minimal dependencies.

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Zlib
LICENSE-ZLIB
Notifications You must be signed in to change notification settings

hasenbanck/asche

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

asche

Latest version Documentation ZLIB MIT Apache

Provides an abstraction layer above erupt to easier use Vulkan in Rust. Mainly handles the Vulkan busywork (device initialization, memory handling etc.) and the lifetimes of objects.

No validation and a lot of pain. Lifetimes are not fully tracked, so you need to pay attention when to drop which resource to avoid UB (check the validation layer).

You most likely want to use wgpu instead!

Requirements

Vulkan 1.2+ driver.

Features

  • tracing Adds logging using tracing.
  • profiling Adds support for profiling.
  • vk-buffer-device-address Uses the buffer device address Vulkan feature. Mainly useful when using the raytracing extension.

tracing and vk-buffer-device-address are enabled by default.

Examples

Examples are provided.

Triangle

Most simple example that shows how to draw a triangle in Vulkan.

Triangle example

Cube

Shows how to use push constants, vertex and index buffers and also compressed textures.

Cube example

Raytracing

Uses the VK_raytracing_KHR extension to fully ray trace a simple scene. Shows how to initialize and use acceleration structures (triangle based), create and use the shader binding table (SBT), use descriptor indexing with non uniform indexes and partial binds, write raytracing shader and do very basic lightning.

Raytracing example

Compute

Simple compute example.

License

Licensed under MIT or Apache-2.0 or ZLIB.

About

Provides an abstraction layer above ash to easier use Vulkan in Rust with minimal dependencies.

Resources

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Zlib
LICENSE-ZLIB

Stars

Watchers

Forks

Packages

 
 
 

Languages