5个版本
0.2.1 | 2022年10月11日 |
---|---|
0.2.0 | 2022年10月9日 |
0.1.2 | 2019年11月30日 |
0.1.1 | 2019年2月1日 |
0.1.0 | 2018年8月3日 |
在渲染引擎分类中排名18
每月下载52次
被5个crate(2个直接)使用
92KB
2K SLoC
unrust / uni-gl
这个库是Unrust项目的一部分,Unrust是一个纯Rust原生/wasm游戏引擎。这个库为以下组件提供原生/wasm兼容层:
- OpenGL API
当与uni-app结合使用时,在原生目标上,它提供OpenGL 3.2+或OpenGLES 2.0+ Core Profile上下文。在Web目标上,它提供可用的WebGL 2.0上下文,否则提供WebGL 1.0上下文。
用法
[dependencies]
uni-app="0.2.*"
uni-gl="0.2.*"
extern crate uni_app;
extern crate uni_gl;
fn main() {
// create the game window (native) or canvas (web)
let app = uni_app::App::new(uni_app::AppConfig {
size: (800, 600),
title: "my game".to_owned(),
vsync: true,
show_cursor: true,
headless: false,
resizable: true,
fullscreen: false,
intercept_close_request: false,
});
// retrieve the opengl context
let gl = uni_gl::WebGLRenderingContext::new(app.canvas());
// start game loop
app.run(move |_app: &mut uni_app::App| {
// do some openGL stuff
gl.clear_color(0.0, 0.0, 1.0, 1.0);
gl.clear(uni_gl::BufferBit::Color);
});
}
构建
作为Web应用(wasm32-unknown-unknown)
安装wasm32目标
rustup target install wasm32-unknown-unknown
使用以下命令编译示例
wasm-pack build examples
这将在examples/pkg中创建一个wasm包
使用以下命令运行示例
cd www
npm install
npm run start
在浏览器中打开https://127.0.0.1:8080/
作为桌面应用(native-opengl)
cargo run --example basic --release
授权
授权方式为以下之一
- Apache License 2.0,(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT授权 (LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确指出,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0授权定义,应如上双授权,不附加任何额外条款或条件。
依赖
~0–2MB
~40K SLoC