Crate gl_generator [−] [src]

[]

gl_generator

gl_generator is an OpenGL bindings generator. It defines a function named generate_bindings which can be used to generate all constants and functions of a given OpenGL version.

Example

In build.rs:

extern crate gl_generator;
extern crate khronos_api;

use std::env;
use std::fs::File;
use std::path::Path;

fn main() {
    let dest = env::var("OUT_DIR").unwrap();

    let mut file = File::create(&Path::new(&dest).join("gl_bindings.rs")).unwrap();

    gl_generator::generate_bindings(gl_generator::GlobalGenerator,
                                    gl_generator::registry::Ns::Gl,
                                    gl_generator::Fallbacks::All,
                                    khronos_api::GL_XML, vec![], "4.5", "core",
                                    &mut file).unwrap();
}

In your project:

include!(concat!(env!("OUT_DIR"), "/gl_bindings.rs"));

Arguments

Each field can be specified at most once, or not at all. If the field is not specified, then a default value will be used.

About EGL

When you generate bindings for EGL, the following platform-specific types must be declared at the same level where you include the bindings:

Reexports

pub use registry::Fallbacks;
pub use generators::debug_struct_gen::DebugStructGenerator;
pub use generators::global_gen::GlobalGenerator;
pub use generators::static_gen::StaticGenerator;
pub use generators::static_struct_gen::StaticStructGenerator;
pub use generators::struct_gen::StructGenerator;

Modules

generators
registry

Functions

generate_bindings

Public function that generates Rust source code.