A low-level library for OpenGL context creation, written in pure Rust.
[dependencies]
glutin = "0.28.0"
Join us in any of these:
Warning: these are examples for master. For the latest released version
git clone https://github.com/rust-windowing/glutin
cd glutin
cargo run --example window
Please refer to ISSUES.md.
Glutin is an OpenGL context creation library and doesn't directly provide OpenGL bindings for you.
For examples, please look here.
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.
Glutin is only officially supported on the latest stable version of the Rust compiler.
Be sure to handle Android's lifecycle correctly when using a winit
window by only creating a GL surface (currently entire context) after winit
raises Event::Resumed
, and destroy it again upon receiving Event::Suspended
. See this in action in the android.rs
example.
To compile and run the Android example on your device, install cargo-apk
and start the app using:
$ cargo apk r -p glutin_examples --example android
The plan is that glutin tries to dynamically link-to and use Wayland w/EGL if possible. If it doesn't work, it will try Xlib w/GLX follow by Xlib w/EGL instead. This is work-in-progress.
Due to an issue with how Mesa and Wayland play together, all shared contexts must use the same events pool as each other.