bevy_pixel_buffer 0.7.1

A library to draw pixels in bevy
Documentation
# bevy_pixel_buffer

[![Crates.io](https://img.shields.io/crates/v/bevy_pixel_buffer)](https://crates.io/crates/bevy_pixel_buffer)
[![docs.rs](https://img.shields.io/docsrs/bevy_pixel_buffer)](https://docs.rs/bevy_pixel_buffer/)
![Crates.io](https://img.shields.io/crates/l/bevy_pixel_buffer)

A library to draw pixels in [bevy](https://crates.io/crates/bevy).

- Easy to set up and use.
- Can be integrated into an existing project.
- Allows dynamic resize of the pixel buffer to fill an area such as the window.
- Support for multiple pixel buffers.
- Allows to easily attach a compute shader to update the pixels.
- [egui]https://crates.io/crates/egui integration (through
  [bevy_egui]https://crates.io/crates/bevy_egui) to show the pixels inside the
  UI.

## [Examples]./examples/

A basic example,

```rust
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](./images/basic.png)

[More examples](./examples/)

## Features

- `egui`\*. Egui integration.
- `rayon`. Enables extra alternative functions that use rayon.
- `rand`. Enables extra functionality related to random values.

\* Disabled by default.

## Bevy versions

Version compatibility table.

| `bevy` | `bevy_pixel_buffer` |
| ------ | ------------------- |
| `0.13` | `0.7`               |
| `0.12` | `0.6`               |
| `0.11` | `0.5`               |
| `0.10` | `0.4`               |
| `0.9`  | `0.3`               |
| `0.8`  | `0.2`               |