linebender / bevy_vello

An integration to render with Vello in Bevy game engine.
https://linebender.org/bevy_vello/
Apache License 2.0
117 stars 12 forks source link

Play nice with other 2d renderers through `RenderPhase<Transparent2d>`? #15

Closed johanhelsing closed 4 months ago

johanhelsing commented 9 months ago

Wondering if it's completely out of the question to play nice with other bevy 2d renderers, such as bevy_sprite and bevy_smud?

https://github.com/johanhelsing/bevy_smud/blob/66d9249f33996b1c8d9ee2aee20b783ecdefa8ee/src/lib.rs#L593

simbleau commented 9 months ago

Wondering if it's completely out of the question to play nice with other bevy 2d renderers, such as bevy_sprite and bevy_smud?

https://github.com/johanhelsing/bevy_smud/blob/66d9249f33996b1c8d9ee2aee20b783ecdefa8ee/src/lib.rs#L593

I haven't used bevy_sprite or smud but nothing will stop you from using bevy-vello. It can use the same GPU device and you can spawn your assets with a transform.

Not sure if this answers the question, please let me know.

johanhelsing commented 9 months ago

It's mainly about z ordering of transparents. The line i linked to will break a batch if something it doesn't recognize appears in the render phase,

simbleau commented 9 months ago

Since bevy-vello was originally developed for a top-down game, it used the Y position in the transform for its Z-ordering, with the addition of layering. This is something we want to change in favor of Z-ordering, tracked by https://github.com/vectorgameexperts/bevy-vello/issues/8

Since Assetsv2 just came out, I'll look into both Z-ordering and ensuring it could play nicely with smud.

simbleau commented 8 months ago

@johanhelsing Now Z-ordering is implemented with help from @Pengiie! There should be no issues. Let me know how it all works!

seabassjh commented 5 months ago

It's mainly about z ordering of transparents. The line i linked to will break a batch if something it doesn't recognize appears in the render phase,

Is there currently a problem when using bevy_vello regarding that line you linked? Or is this a precautionary question?

johanhelsing commented 4 months ago

Hey sorry, didn't have time to get back to you back in december, but I tested a couple of weeks back and I think z-ordering worked as expected then.

Thanks! Hoping to use this crate in a project soon :)