glossy_codegen

Crates.ioglossy_codegen
lib.rsglossy_codegen
version0.2.0
sourcesrc
created_at2016-10-25 08:57:16.580202
updated_at2016-10-25 08:57:16.580202
descriptionBuild dependency for glossy, a compile-time GLSL shader loader with `#include` support.
homepage
repositoryhttps://github.com/mathewv/rust-glossy
max_upload_size
id7004
size22,661
Eliza (elizagamedev)

documentation

README

glossy

A GLSL source loading crate for Rust which supports the #include directive and shader optimization at compile time via glsl-optimizer.

Links

Example Usage

In build script build.rs:

extern crate glossy_codegen as glsl;

void main() {
    glsl::Config::new(glsl::Language::OpenGl)
        .vertex("shaders/*.vert")
        .fragment("shaders/*.frag")
        .include("shaders/include/*")
        .optimize()
        .build();
}

In Rust source file main.rs:

#[macro_use]
extern crate glossy;
extern crate glium;

void main() {
    // ...
    glium::Program::from_source(gl,
                                shader!("sprite.vert"),
                                shader!("sprite.frag"),
                                None)
        .unwrap();
    // ...
}

In shader source file shader.frag:

#version 120
#include "common.glsl"

void main() {
    float v = common_func(common_uniform);
    // ...
}
Commit count: 7

cargo fmt