#pixel #bevy #2d-graphics #2d #framebuffer #gamedev

bevy_pixel_buffer

一个在bevy中绘制像素的库

12个版本 (7个破坏性更新)

0.8.0 2024年7月16日
0.7.1 2024年4月11日
0.7.0 2024年2月27日
0.6.0 2023年11月8日
0.2.0 2022年8月18日

#28 in 渲染

Download history 14/week @ 2024-04-22 147/week @ 2024-05-06 15/week @ 2024-05-13 14/week @ 2024-05-20 4/week @ 2024-05-27 10/week @ 2024-06-03 9/week @ 2024-06-10 2/week @ 2024-06-24 110/week @ 2024-07-15 8/week @ 2024-07-22 14/week @ 2024-07-29 13/week @ 2024-08-05

每月下载量 145

MIT 许可证

82KB
1.5K SLoC

bevy_pixel_buffer

Crates.io docs.rs Crates.io

一个在bevy中绘制像素的库。

  • 易于设置和使用。
  • 可以集成到现有项目中。
  • 允许动态调整像素缓冲区的大小以填充窗口等区域。
  • 支持多个像素缓冲区。
  • 允许轻松附加计算着色器以更新像素。
  • egui集成(通过bevy_egui)以在UI中显示像素。

示例

一个基本示例

use bevy::prelude::*;
use bevy_pixel_buffer::prelude::*;

fn main() {
    let size = PixelBufferSize {
        size: UVec2::new(32, 32),
        pixel_size: UVec2::new(16, 16),
    };

    App::new()
        .add_plugins((DefaultPlugins, PixelBufferPlugin))
        .add_systems(Startup, pixel_buffer_setup(size))
        .add_systems(Update, update)
        .run();
}

fn update(mut pb: QueryPixelBuffer) {
    pb.frame().per_pixel(|_, _| Pixel::random());
}

Basic example output

更多示例

特性

  • egui*. Egui集成。
  • rayon. 启用使用rayon的额外替代函数。
  • rand. 启用与随机值相关的额外功能。

* 默认禁用。

Bevy版本

版本兼容性表。

bevy bevy_pixel_buffer
0.14 0.8
0.13 0.7
0.12 0.6
0.11 0.5
0.10 0.4
0.9 0.3
0.8 0.2

依赖关系

~37–75MB
~1.5M SLoC