rs2glsl 0.3.4

Conversion from Rust code to GLSL
Documentation
#![allow(unused)]

use rs2glsl::prelude::*;

#[glsl_native]
mod stdlib {
    pub fn abs(x: f32) -> f32 {
        x.abs()
    }
    pub fn exp(e: f32) -> f32 {
        e.exp()
    }
}

#[glsl]
mod glsl {
    use super::stdlib::*;

    fn mul(x: f32, y: f32) -> f32 {
        return x * y;
    }

    fn multiply_accumulate(a: f32, b: f32, c: f32) -> f32 {
        return a + mul(b, c);
    }

    const PI: f32 = 3.1415;

    // will not appear in dependencies of foo
    fn unused() {}

    pub fn foo() -> f32 {
        return multiply_accumulate(PI, 0.5, 10.0) + exp(2.0);
    }
}
use glsl::*;

fn main() {
    println!("{}", GLSL_FOO.with_dependencies());
}