5个版本
使用旧的Rust 2015
0.1.0 | 2018年10月11日 |
---|---|
0.0.4 | 2018年4月2日 |
0.0.3 | 2017年9月30日 |
0.0.2 | 2015年11月5日 |
0.0.1 | 2015年11月3日 |
#599 in 图形API
506 每月下载量
在 gfx-gtk 中使用
18KB
346 行
epoxy-rs
Rust绑定用于 libepoxy
,一个OpenGL函数指针管理器。
使用针对 gl_generator
包的定制生成器生成的绑定。
为什么我要用这个而不是 gl
包?
你可能不需要,gl
执行相同类型的函数指针管理,但需要 get_proc_address
或类似的功能来定位所需的函数指针。当使用像 glutin
这样的库进行窗口管理时,这不是问题,但在与 Gdk GdkGLContext
交互时是问题。使用 gl
与 epoxy
默认生成器一起使用会导致问题,因为这两个库都尝试懒加载符号并缓存函数指针值。
此包主要用于使用OpenGL函数与 gtk
包一起绘制到 GtkGLArea
。Gdk在后台使用环氧树脂为您设置OpenGL上下文,但未提供在初始化后轻松定位适当OpenGL函数的简单方法。此包试图解决这个问题。
使用绑定
epoxy
目前需要一个类似 gl
包的加载函数,除了它定位的是等效的 libepoxy
符号,防止上述冲突。像以下这样的使用 shared_library
包的代码在大多数情况下应该工作
epoxy::load_with(|s| {
unsafe {
match DynamicLibrary::open(None).unwrap().symbol(s) {
Ok(v) => v,
Err(_) => ptr::null(),
}
}
});
gl::load_with(epoxy::get_proc_addr);
库的将来版本可能默认使用此实现。
我能否使用 glium
绘制到 GtkGLArea
?
希望很快。
依赖项
~200KB