79个破坏性版本
使用旧的Rust 2015
0.81.0 | 2024年5月21日 |
---|---|
0.80.0 | 2023年9月26日 |
0.79.0 | 2022年11月18日 |
0.76.0 | 2022年2月23日 |
0.4.0 | 2015年7月9日 |
#77 in 图形API
12,843 每月下载量
用于 73 个包 (3 个直接)
34KB
742 行
gfx_graphics
维护者: @Potpourri, @kvark, @bvssvni
使用Gfx实现的piston-graphics后端
依赖图
lib.rs
:
使用 Piston 2D图形 后端和 gfx-rs。
Piston-Graphics是一个用于2D的通用库,是Piston生态系统的一部分。通用抽象创建三角形,并将其发送到后端。三角形通过 Graphics
特性发送。
如何使用gfx_graphics
如果您正在使用 piston_window 库,则会为您创建一个 Gfx2d
对象。您需要做的只是调用 e.draw_2d(|c, g| { ... });
如果您不使用窗口包装器,则需要创建 Gfx2d
和 GfxGraphics
。
- 在事件循环之前创建
Gfx2d
对象 - 在渲染事件中调用
Gfx2d::draw
,并使用args.viewport()
。
示例
let mut g2d = Gfx2d::new(api_version, &mut factory);
let mut events = window.events();
while let Some(e) = events.next(&mut window) {
if let Some(args) = e.render_args() {
g2d.draw(&mut encoder, &output_color, &output_stencil, args.viewport(), |c, g| {
...
}
}
}
有关示例,请参阅 "examples/draw_state.rs"。
闭包 |c, g|
传递一个 Context
和 &mut GfxGraphics
对象。 Context
包含视口、变换和绘制状态信息。
当传递给其他函数时,通常编写为
fn draw_something<G: Graphics>(c: &Context, g: &mut G) {
...
}
目的是使代码在 Piston 2D 后端之间可重用。
有关更多信息,请参阅 Piston-Graphics 的文档。
依赖项
~4.5MB
~89K SLoC