This is a fork that is compatibale with tao
. If you are looking for GL contexts working with Gtk, this fork might suit you. Otherwise, original glutin is still more recommended.
Most platforms should still work out of the box, while Gtk on linux will have some differences. It's possible to write the gl code in event loop closure, but it will get some delays. Using connect_render
on GLArea is still most idiomatic. Also note that pixel format request and GL attributes are not configured on Linux yet. It uses default GLArea at the moment.
A low-level library for OpenGL context creation, written in pure Rust.
[dependencies]
glutin = "0.27.0"
Join us in any of these:
Warning: these are examples for master. For the latest released version, 0.23, view here.
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.
To compile the examples for android, you have to use the cargo apk
utility.
See the android-rs-glue
repository for instructions.
Emscripten support has been deprecated in favor of platforms like stdweb. To get an OpenGL context on these platforms, please use crates like glow instead.
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.