This library is a part of Unrust, a pure rust native/wasm game engine. This library provides a native/wasm compatibility layer for following components : * OpenGL API
When used in conjonction with uni-app, on native target, it provides an OpenGL 3.2+ or OpenGLES 2.0+ Core Profile context. On web target, it provides a WebGL 2.0 context where available, else a WebGL 1.0 context.
toml
[dependencies]
uni-app="0.2.*"
uni-gl="0.2.*"
```rust extern crate uniapp; extern crate unigl;
fn main() { // create the game window (native) or canvas (web) let app = uniapp::App::new(uniapp::AppConfig { size: (800, 600), title: "my game".toowned(), vsync: true, showcursor: true, headless: false, resizable: true, fullscreen: false, interceptcloserequest: false, }); // retrieve the opengl context let gl = unigl::WebGLRenderingContext::new(app.canvas()); // start game loop app.run(move |app: &mut uniapp::App| { // do some openGL stuff gl.clearcolor(0.0, 0.0, 1.0, 1.0); gl.clear(uni_gl::BufferBit::Color); }); } ```
rustup target install wasm32-unknown-unknown
cargo run --example basic --release
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.