glsl-quasiquote 0.2.2

The glsl! procedural macro, providing quasiquoting of the glsl crate.
Documentation

GLSL quasiquoting.

This crate exports a procedural macro: glsl!. It enables quasiquoting by allowing you to embed GLSL source code directly into rust via the syntax:

glsl!{
  // your GLSL code here
  void main() {
  }
}

! The glsl! macro accepts the GLSL code directly. You can then write plain GLSL. Especially, ! since version 0.2, the macro accepts plain GLSL pragmas (both #version and #extension).

The glsl! procedural macro resolves at compile-time to glsl::syntax::TranslationUnit, allowing you to manipulate the GLSL AST directly. Feel free to have a look at the glsl crate for further information.

Getting started

Add the following to your dependencies in your Cargo.toml:

glsl = "0.11"
glsl-quasiquote = "0.2"

Then, you currently need to have a nightly compiler and the following feature enabled:

#![feature(proc_macro_hygiene)]

Then, depending on which you’re using the 2018 edition or not:

Non-2018 edition

extern crate glsl;
#[macro_use] extern crate glsl_quasiquote;

2018 edition

extern crate glsl;
use glsl_quasiquote::glsl;