1个不稳定版本
使用旧的Rust 2015
0.2.0 | 2016年10月25日 |
---|
#4 在 #优化
21KB
410 行
glossy
一个Rust的GLSL源代码加载库,支持#include
指令,并通过glsl-optimizer在编译时进行着色器优化。
链接
示例用法
在构建脚本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();
}
在Rust源文件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();
// ...
}
在着色器源文件shader.frag
#version 120
#include "common.glsl"
void main() {
float v = common_func(common_uniform);
// ...
}
lib.rs
:
这是glossy的代码生成/构建脚本组件。
有关详细信息,请参阅glossy模块。
依赖项
~4.5MB
~91K SLoC