bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
35.13k stars 3.45k forks source link

Spout Sender & Receiver #11450

Open 0x01011970 opened 7 months ago

0x01011970 commented 7 months ago

What problem does this solve or what need does it fill?

Ability to send Bevy's video frames in real time to another software for further processing.

Ability to receive video frames in real time from another software and include it in Bevy's renderings.

What solution would you like?

Spout (https://spout.zeal.co/) is the non-network solution implemented in Openframeworks, Processing, TouchDesigner, OBS and others, see https://leadedge.github.io/spout-projects.html

What alternative(s) have you considered?

On windows it seems there are no other alternatives to Spout.

NDI (or any other network based solution) forces codec settings and is less efficient.

Additional context

I would like to migrate a real-time off-screen 3D project developed in Scala and use Bevy/Rust instead.

I searched for the keyword "spout" in the Bevy project and did not find any results.

james7132 commented 7 months ago

Is there a reason why this cannot be done as an ecosystem crate? It seems the plugin level support on all of these other engines seem to operate just fine.