egui_vulkano 0.6.0

Vulkano graphics backend for egui
Documentation
# Vulkano backend for egui

[![Latest version](https://img.shields.io/crates/v/egui_vulkano.svg)](https://crates.io/crates/egui_vulkano)
[![Documentation](https://docs.rs/egui_vulkano/badge.svg)](https://docs.rs/egui_vulkano)

This is a drawing backend to use [egui](https://github.com/emilk/egui) with [Vulkano](https://github.com/vulkano-rs/vulkano).
It can be used with [egui-winit](https://github.com/emilk/egui/tree/master/egui-winit) for input handling.

## Usage

```rust
let mut egui_painter = egui_vulkano::Painter::new(
    device.clone(), // your Vulkano Device
    queue.clone(), // your Vulkano Queue
    Subpass::from(render_pass.clone(), 1).unwrap(), // subpass that you set up to render the gui
)
.unwrap();

// ...

// Get the shapes from egui
let egui_output = egui_ctx.end_frame();
let result = egui_painter.update_textures(egui_output.textures_delta, &mut builder).unwrap();
// If using egui-winit:
egui_winit.handle_platform_output(surface.window(), &egui_ctx, egui_output.platform_output);

// Do your own rendering ...

// Automatically start the next render subpass and draw the gui
egui_painter
    .draw(
        &mut builder, // your vulkano AutoCommandBufferBuilder
        [width, height], // window size
        &egui_ctx, // your egui CtxRef
        egui_output.shapes // shapes from egui,
    )
    .unwrap();
```

Check the included working [example](examples/example.rs) for more info.

**Pull requests are welcome!**

## Credits
With inspiration from
[egui_winit_ash_vk_mem](https://github.com/MatchaChoco010/egui_winit_ash_vk_mem),
[egui_sdl2_gl](https://github.com/ArjunNair/egui_sdl2_gl) and
[egui_glium](https://github.com/emilk/egui/tree/master/egui_glium).