bevy_vulkano
This plugin replaces core loop & rendering in Bevy with Vulkano backend. Basically this allows you to be fully in control of your render pipelines with Vulkano without having to bother yourself with engine architecture much. Just roll your pipelines and have fun.
This makes it extremely easy to do following with Vulkano:
- Windowless Apps
- Multiple Windows
- Event handling
From Vulkano's perspective, this plugin contains functionality for resizing, multiple windows & utility for beginning and ending the frame. However, you'll need to do everything in between yourself. A good way to get started is to look at the examples.
This should be especially useful for learning graphics pipelines from scratch using Vulkano.
- Add
VulkanoWinitPlugin
. It also addsWindowPlugin
and anything that's needed. - Then create your own rendering systems using vulkano's pipelines (See example.). You'll need to know how to use Vulkano.
- If you want to use egui library with this, add
egui
andbevy_vulkano
with featuregui
.
Usage
Creating a pipeline
/// Creates a render pipeline. Add this system with app.add_startup_system(create_pipelines).
Rendering system
/// This system should be added either at `CoreStage::PostUpdate` or `CoreStage::Last`. You could also create your own
/// render stage and place it after `CoreStage::Update`.
Dependencies
This library re-exports egui_winit_vulkano
.
Examples:
Disclaimer
While you can use bevy_vulkano
with bevy 0.9
,
the windowing features are not quite up to date with latest bevy_window
.
Feel free to make contributions if some feature is missing.
Contributing
Feel free to open a PR to improve or fix anything that you see would be useful.