9 个版本
使用 Rust 2015 版本
0.1.8 | 2022 年 3 月 10 日 |
---|---|
0.1.7 | 2021 年 8 月 14 日 |
0.1.4 | 2021 年 7 月 12 日 |
0.1.0 | 2021 年 6 月 29 日 |
#528 in GUI
49 次每月下载
用于 azul-webrender
265KB
6K SLoC
opengl-function-loader
定义了一个包含 OpenGL 函数指针及其对应函数的结构体。专为 no_std 使用设计(使用 default-features = false
)。
您需要自行加载函数
fn main() {
/// ...
wglMakeContextCurrent(hDC, hRC);
let context = GenericGlContext {
glAccum: wglGetProcAddress("glAccum"),
glActiveTexture: wglGetProcAddress("glActiveTexture"),
glAlphaFunc: wglGetProcAddress("glAlphaFunc"),
glAreTexturesResident: wglGetProcAddress("glAreTexturesResident"),
...
};
// function provided by this library - also available on no_std!
context.clear_color(0.0, 0.0, 0.0, 0.0);
context.flush();
wglMakeContextCurrent(NULL, NULL);
}
如果函数指针设置为 0x00000
(即函数未加载),则此库将返回一个 "默认" 值而不引发恐慌(即 Vec::new()
,String::new()
或 0
)。启用 stdlib 支持时,它将在返回之前将 "缺少函数:X" 打印到 stdout。
如果启用 stdlib 支持,GenericGlContext
实现 gleam::Gl
! 这的目的是在 no_std
上使用自定义加载器的同时,使使用 gleam::Gl
的 crate 能够集成。
许可证
代码部分复制自 servo/gleam,因此保留了原始的 Apache/MIT 许可证。