mosure / bevy_gaussian_splatting

bevy gaussian splatting render pipeline plugin
https://mosure.github.io/bevy_gaussian_splatting?gaussian_count=1000
MIT License
130 stars 9 forks source link

feat: add headless renderer example #72

Closed cs50victor closed 7 months ago

cs50victor commented 7 months ago

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

mosure commented 7 months ago

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

for a flow like:

I am not sure there is an out-of-box solution that is implemented as a bevy plugin. It looks like someone has started one here (I don't think it is production-ready):

for a bevy client <-> bevy server flow, naia would be sufficient: https://github.com/naia-lib/naia/tree/main/adapters/bevy/server/src

I think there is good opportunity to use bevy_httpserver as a reference to create a more production-ready bevy_hyper plugin: https://github.com/hyperium/hyper

cs50victor commented 7 months ago

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

for a flow like:

  • HTTP client sends render request to bevy server
  • bevy server responds with an image

I am not sure there is an out-of-box solution that is implemented as a bevy plugin. It looks like someone has started one here (I don't think it is production-ready):

for a bevy client <-> bevy server flow, naia would be sufficient: https://github.com/naia-lib/naia/tree/main/adapters/bevy/server/src

I think there is good opportunity to use bevy_httpserver as a reference to create a more production-ready bevy_hyper plugin: https://github.com/hyperium/hyper

I'll test these out and give feedback.

cs50victor commented 7 months ago

good to merge @mosure ?

mosure commented 7 months ago

LGTM! send it!

cs50victor commented 7 months ago

thanks. know how to use a server and receive webhooks in bevy / an example I can refer to? ( fairly new to bevy )

for a flow like:

  • HTTP client sends render request to bevy server
  • bevy server responds with an image

I am not sure there is an out-of-box solution that is implemented as a bevy plugin. It looks like someone has started one here (I don't think it is production-ready):

for a bevy client <-> bevy server flow, naia would be sufficient: https://github.com/naia-lib/naia/tree/main/adapters/bevy/server/src

I think there is good opportunity to use bevy_httpserver as a reference to create a more production-ready bevy_hyper plugin: https://github.com/hyperium/hyper

@mosure So i looked at these and came up with a 'hacky' way to spawn a listening server using a shared tokio runtime. Probably not the best way to implement this but it kinda works ( https://github.com/cs50victor/kitt2/blob/main/lkgpt/src/server.rs#L245-L319 ). The 'kitt2' repo is meant to be an open source Google gemini demo with a little extra features like rendering a Gaussian Head avatar ( https://github.com/cs50victor/gaussian-head ) or something similar to Meta's codec avatars ( https://www.youtube.com/watch?v=So8GdQD0Qyc ) that communicates with the user in real time . I've been pulling my hair out for weeks trying to work with async rust, mainly receiving video & audio frames from livekit (https://github.com/cs50victor/kitt2/blob/main/lkgpt/src/main.rs#L167-L191). At the moment it just doesn't return any data from the receiver. Just gave you access to the repo. Would love to get your perspective on what you think might be causing this issue. thanks