| Crates.io | playout |
| lib.rs | playout |
| version | 0.1.0 |
| created_at | 2024-07-27 23:23:34.026512+00 |
| updated_at | 2024-07-27 23:23:34.026512+00 |
| description | DSL for creating Vulkan pipeline layout and descriptor set layout. |
| homepage | |
| repository | https://github.com/dust-engine/playout |
| max_upload_size | |
| id | 1317579 |
| size | 70,773 |
playout is a Rust library implementing a domain-specific language (DSL) for defining pipeline layouts and descriptor set layouts in a shared format usable by both shading languages and host-side programming languages.
Currently, playout supports generating code for GLSL and Rust.
Shared Format: Define pipeline and descriptor set layouts once and use them in both shading languages and your host-side code.
Improved Readability: Write layouts in a human-readable format instead of boilerplate code.
Reduced Errors: Avoid typos and inconsistencies by defining layouts in a single place.
let playout_str = "...";
let module = PlayoutModule::try_from(playout_str).unwrap();
let mut writer = String::new();
module.show(&mut writer);
println!("{}", writer)
use ash::vk;
// Extract descriptor set 3 from the playout file
let out = playout_macro::layout!("./example.playout", 3);