glsl-to-spirv-macros-impl

Crates.ioglsl-to-spirv-macros-impl
lib.rsglsl-to-spirv-macros-impl
version0.1.0
sourcesrc
created_at2017-06-18 16:07:17.538719
updated_at2017-08-02 14:52:22.704919
descriptionThis is an implementation detail of the crate glsl-to-spirv-macros. Please see that crate for more information.
homepage
repositoryhttps://github.com/dylanede/glsl-to-spirv-macros
max_upload_size
id19432
size4,416
Dylan Ede (dylanede)

documentation

https://docs.rs/glsl-to-spirv-macros

README

glsl-to-spirv-macros

Documentation

[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.

Documentation

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:

#[macro_use] extern crate glsl_to_spirv_macros;
#[macro_use] extern crate glsl_to_spirv_macros_impl;

static some_shader: &'static [u8] = glsl_vs!{r#"
    // Shader code here
"#};

fn main() {
    let another_shader = include_glsl_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.

Commit count: 8

cargo fmt