glutin - OpenGL, UTilities and INput

Gitter

Docs.rs

Alternative to GLFW in pure Rust.

Build Status Build status

toml [dependencies] glutin = "*"

Documentation

Try it!

bash git clone https://github.com/tomaka/glutin cd glutin cargo run --example window

Usage

Glutin is an OpenGL context creation library and doesn't directly provide OpenGL bindings for you.

toml [dependencies] gl = "*" libc = "*"

```rust extern crate gl; extern crate glutin; extern crate libc;

fn main() { let window = glutin::Window::new().unwrap();

unsafe { window.make_current() };

let gl_ = match api_type {
    gl::GlType::Gl => unsafe { gl::GlFns::load_with(|s| Self::get_proc_address(s) as *const _) },
    gl::GlType::Gles => unsafe { gl::GlesFns::load_with(|s| Self::get_proc_address(s) as *const _) },
};

gl_.clear_color(0.0, 1.0, 0.0, 1.0);

for event in window.wait_events() {
    gl_.clear(gl::COLOR_BUFFER_BIT);
    window.swap_buffers();

    match event {
        glutin::Event::Closed => break,
        _ => ()
    }
}

} ```

Note that glutin aims at being a low-level brick in your rendering infrastructure. You are encouraged to write another layer of abstraction between glutin and your application.

Platform-specific notes

Android