toml
[dependencies]
glsl-to-spirv-macros = "0.1.0"
glsl-to-spirv-macros-impl = "0.1.0"
Rust macros for generating SPIR-V binaries at compile time for use with Vulkan.
To use this crate, you must also use the glsl-to-spirv-macros-impl crate.
Use this crate to compile your GLSL shaders at compile time into binaries embedded in your program.
This crate requires you to also use the glsl-to-spirv-macros-impl
crate. Without it these macros will not work.
Unfortunately it is not yet possible to combine the two crates into one.
Example usage:
```rust
static someshader: &'static [u8] = glslvs!{r#" // Shader code here "#};
fn main() { let anothershader = includeglsl_fs!("path/to/shader"); } ```
All macros in this crate return &'static [u8]
, and can be used in the definition of static
as well as local variables.
Every macro takes a string literal, e.g. "..."
, r#"..."#
etc.
These macros generate Vulkan-compatible SPIR-V binaries using the official glslang compiler - they are not designed for use with other APIs, like OpenCL.