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

Download history 3370/week @ 2024-05-03 3431/week @ 2024-05-10 3557/week @ 2024-05-17 3448/week @ 2024-05-24 3587/week @ 2024-05-31 2436/week @ 2024-06-07 3034/week @ 2024-06-14 3226/week @ 2024-06-21 1601/week @ 2024-06-28 1429/week @ 2024-07-05 2678/week @ 2024-07-12 3061/week @ 2024-07-19 2752/week @ 2024-07-26 2912/week @ 2024-08-02 4059/week @ 2024-08-09 2636/week @ 2024-08-16

12,843 每月下载量
用于 73 个包 (3 个直接)

MIT 许可证

34KB
742

gfx_graphics 构建状态

维护者: @Potpourri, @kvark, @bvssvni

使用Gfx实现的piston-graphics后端

API文档

screenshot

依赖图

dependencies

如何贡献


lib.rs:

使用 Piston 2D图形 后端和 gfx-rs

Piston-Graphics是一个用于2D的通用库,是Piston生态系统的一部分。通用抽象创建三角形,并将其发送到后端。三角形通过 Graphics 特性发送。

如何使用gfx_graphics

如果您正在使用 piston_window 库,则会为您创建一个 Gfx2d 对象。您需要做的只是调用 e.draw_2d(|c, g| { ... });

如果您不使用窗口包装器,则需要创建 Gfx2dGfxGraphics

  1. 在事件循环之前创建 Gfx2d 对象
  2. 在渲染事件中调用 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